NEO will be querying FCL for preferrerd IR
(intermediate representation) instead of
using llvm bc.
Change-Id: I98316b5623557a9651da2a4c5e610ab26421c491
- replace createGraphicsAllocationWithRequiredBitness with more general
methodallocateGraphicsMemoryInPreferredPool based on passed
AllocationData
- proper flags for allocation selected based on AllocationType
- remove allocateGraphicsMemory(size_t size, size_t alignment)
and use allocateGraphicsMemory(size_t size) instead where default
alignment is sufficient, otherwise use full options version:
allocateGraphicsMemory(size_t size, size_t alignment,
bool forcePin, bool uncacheable)
Change-Id: I2da891f372ee181253cb840568a61b33c0d71fc9
- makeCoherent should be called after TBX finished processing
- this is when tagAddress is updated with taskCount
makeCoherent is called from makeNonResident which is invoked just
after flush and may happen before TBX server finished processing
leading to invalid data to be read back to CPU accessible memory
- this fix adds waiting for taskCount to blocking calls for TBX CSR
before calling makeNonResident on surfaces to guarantee correct data
from TBX server is ready.
Change-Id: I498a5454e0826eec2a5413a08880af40268550e1
Some tokens may not be processed by Neo. We should check whether
token was stored in dataParameterBuffers array instead of blindly
dereference element zero.
Change-Id: Ibb3e80c3b3fc031c6b5e9c8bea404429d8a48c34
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
Neo can work with more recent version of IGC. In such case some of
patch tokens my not be supported yet. Thus, expecting vector size to be
1 for every valid token is invalid assumption.
Change-Id: I987c29912590bcf15c13073fdbb463e7f9db3d1d
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
- add assert to check size() of patchInfo.dataParameterBuffers
- add test case to ensure that unknown parameter is not added
- move one test case from TEST_P -> TEST_F. no need to be TEST_P as
GetParam() is not used
Change-Id: I9ff753601ac1d4f2484cf13f5fa6b728b0dcd4a2
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
return CL_BUILD_NONE from clGetProgramBuildInfo (CL_PROGRAM_BUILD_STATUS)
when clCreateProgramWithBinary was called and no build has been performed
on the specified program object for device.
Change-Id: Ib59dd07671a69ab1325c6c51f28e9dd550d5e5bf
- There are various calls to device inside destructor.
- Memory manager is protected via device , which is protected by context.
- If context is destroyed it means that device may be destroyed, which means
that memory manager may be destroyed and we have a seg fault.
Change-Id: I2cb6a69790f53bf2c9fba89160078b009e105574
- notifySourceCode, notifyKernelDebugData, notifyDeviceDestruction
- added processDebugData method in Program
- change options when SLD is active
- add space at the beginning of extension list options
Change-Id: Iac1e52f849544dbfda62407e112cde83fa94e3ad
use this variable in tests as it is set once in main.cpp
create function to get binary kernel filename
Change-Id: Ibf7b4c2d390caefda4a5d7fc4667006e7f2edde8
- generate debug data to .dbg file in cloc
- generate debug kernel for ults with "-g" option
in addition to "-cl-kernel-debug-enable"
- append "-g" option for compilation and build of
programs with kernel debugging enabled to make
compiler generate debug data
Change-Id: I09401f84be6e09da167194a44d1b9a7f2bfb622d
* adding support for map/unmap
* adding support for origin/region validation with mipmaps
* fixing slices returned in map/unmap
* removing ambiguity around mipLevel naming
* enabling cl_khr_mipmap_image in current shape
* enabling cl_khr_mipmap_image_writes in current shape
* fixing CompileProgramWithReraFlag test
Change-Id: I0c9d83028c5c376f638e45151755fd2c7d0fb0ab
- remove unused MemoryManagementFixture.
MemoryLeaks are tracked using MemoryLeakListener no need to duplicate
with Fixure.
MMF should be used when you need to inject memory allocation failure
Change-Id: I95bcaa7051acf540c5b015c5489ed6a6fc38ee8e
- generation temporarily disabled for gen8 platforms only
- unit tests using the pregenerated kernel modified accordingly
Change-Id: I304a796836c823d222e60c44a78fc7f4b03b8a73
- adding kernel debug option to build program
- program tests refactor
- pregenerated debug kernel for ULTs
Change-Id: I00152639148fd48c4f709dc7cd9c46392df567c8
Cleanup unit_tests/CMakeLists.txt
Move shared sources to libult
define linux test projects in linux subdirectory
Change-Id: I0da18c79e6581412a04ddfb3795750db862ad95c
- new patch token
- program debug compilation flag
- sip kernel new methods for querying bti and debug
surface size
Change-Id: Icaddd15f269c4b76efdf926f2e346aa61cbaae02
- This ensures each kernel has ISH set up after it is created.
- refactor freeBlockPrivateSurfaces to freeBlockResources, this is to properly
clean allocations for blocks
- Add method cleanCurrentKernelInfo to avoid code duplication in KernelInfo
cleanup
Change-Id: I01f155d434579fe5ce2675bc4e89b04628ef8158
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>
- 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