- Some of the paths were made only for ULTs
- Params like mappedPtr were ignored
- Improve confusing method names
- Fix for memory leak in map shared buffer path (not tested code)
Change-Id: I8a69035f1d1c340f2d131a6f8d7e13116e3ddabc
- Instruction heap is currently heavily used as every kernel copies ISA into
it.
- It dries out very fast and each change to new heap requires whole pipeline
drain that prevents concurrency
- Problem is even larger when sip kernel is used as it limits the total heap
size
- In order to maximize heap re-use and to limit the count of pipeline drains
this change introduces new minimal size for instruction heap 512 KB.
Change-Id: Ic54e9ef4448b1d35dab01b084ee1d59b509642cb
For the new Linux/Fedora configuration with introduction of gcc 7.2,
option -Wimplicit-fallthrough is implemented. This option requests a
warning if a switch case falls through into the next case. This was
causing build errors.
For C++17 (and g++ 7 regardless), standard attribute [[fallthrough]]
notifies the compiler that the fallthrough is intentional.
For clang++ 5 (with -std=c++11 or later) and g++ 7, built-in
preprocessor function __has_cpp_attribute(fallthrough) returns true.
Currently, msvc does not have __has_cpp_attribute.
Note: The use of __has_cpp_attribute has been proposed for c++2x and
is advocated by (81-char link broken in two to avoid 80 char hard limit):
https://isocpp.org/std/standing-documents/
sd-6-sg10-feature-test-recommendations
For gcc 7, a comment consisting of "FALLTHROUGH" will accomplish the
same thing with -Wimplicit-fallthrough=<n>, for n <= 4.
The diagnostic:
/opt/src/src/vpg-compute-neo/runtime/mem_obj/image.cpp:146:24: error:
this statement may fall through [-Werror=implicit-fallthrough=]
imageDepth = imageDesc->image_depth;
~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/opt/src/src/vpg-compute-neo/runtime/mem_obj/image.cpp:148:9: note: here
case CL_MEM_OBJECT_IMAGE2D:
^~~~
Change-Id: I604700a23b09c8bf22baf5614700a8b76dbe4cdd
Signed-off-by: Dale Stimson <dale.b.stimson@intel.com>
- In various scenarios code was not programming the max heap size correctly
- It was possible for SSH to overcome the limit
- Size was programmed smaller then it really was, which resulted in smaller
reuse, which led to SBA reprogramming which led to lower performance in ooq
scenarios
- This change fixes the heap size programming by always utilizing full
allocation size and always limiting SSH at proper value
Change-Id: Ib703d2b0709ed8227a293def3a454bf1bb516dfd
For the new Linux/Fedora configuration with introduction of gcc 7.2,
compilation of this file issues a new warning due to the correct
diagnosis of an ambiguous 'else'. As warnings are being treated as
errors, this aborts the build.
The diagnostic:
vpg-compute-neo/unit_tests/elflib/elflib_tests.cpp:123:12:
error: suggest explicit braces to avoid ambiguous 'else'
[-Werror=dangling-else]
if (nonfailingAllocation == failureIndex)
^
Diagnosis: The diagnostic suggested that this:
if (nonfailingAllocation == failureIndex)
ASSERT_NE(nullptr, pWriter);
should be changed to:
if (nonfailingAllocation == failureIndex) {
ASSERT_NE(nullptr, pWriter);
}
This is a valid suggestion. The same is true for EXPECT_EQ.
Pick the files in repository
ssh://gerrit-gfx.intel.com:29418/mirrors/github/google/googletest
for tracing the definition. (There are many versions of gtest.h under
the ufo tree).
Starting in file include/gtest/gtest.h, the definition of ASSERT_NE can
be traced back towards its origin as follows:
ASSERT_NE include/gtest/gtest.h
GTEST_ASSERT_NE include/gtest/gtest.h
ASSERT_PRED_FORMAT2 include/gtest/gtest_pred_impl.h
GTEST_PRED_FORMAT2_ include/gtest/gtest_pred_impl.h
GTEST_ASSERT_ include/gtest/gtest_pred_impl.h
where GTEST_ASSERT_ indeed *should* be enclosed in braces.
GTEST_AMBIGUOUS_ELSE_BLOCKER_ \
if (const ::testing::AssertionResult gtest_ar = (expression)) \
; \
else \
on_failure(gtest_ar.failure_message())
The correct fix would be to place the braces in the macro definition.
However, as file gtest.h comes from Google, and as there are 37
different versions of it in the source tree, this workaround will
address the macro invocations. Should it be desirable, it is left
to others to correct gtest.h and friends.
Change-Id: I870d38ba623fc7564f894c7b1ea7512b74244ee2
Signed-off-by: Dale Stimson <dale.b.stimson@intel.com>
- In case of mismatched access qualifiers it would return
CL_INVALID_KERNEL_ARGS. This is not correct, CL_INVALID_ARG_VALUE
should be returned instead.
Change-Id: I0dc929e22269b4e34e347502c6cc4067e67ba165
- fix deletion of constant program surface
- fix deletion of global program surface
- move program_data tests to shared code
- make program_data tests SKU agnostic
Change-Id: Icf3e9fd035416072699336c4f86e49703ef48cc5
This commit moves the allocation's aubfile write permission property
from OS agnostic MemoryAllocation to general GraphicsAllocation class.
Change-Id: I82ca2716d6b65d314460bd9f5d33e1113f9d7c07
- Dont program clear color aux params for multisampled images (depth or MCS)
- Mock Gmm PageTable manager default actions
- Local Wddm for WddmCsr tests to make expects on creation
- Set Gmm PageTable manager for Wddm Memory Manager tests without WddmCsr
Change-Id: I8ccfddb06340bc81184e07eff5a7078756d28571
- Program one PS with gpgpu selection and media sampler
- Program PS only when media sampler requirement changed
or when preamble was not sent
Change-Id: I85ba3f74087733e79d048e120aeb8b4b04796e00