- when pointer overlaps 2 pages then fragment count will be 2 not 1.
- Limit the size to 1 byte to ensure only 1 page.
Change-Id: I21c1e07037a99ff3e48909605cb4e2444e499d60
- 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
- change GraphicsAllocatoin::AllocationType to scoped enumeration
so that ALLOCATION_TYPE_ prefix in every enum value can be removed
- all accesses are typed (example AllocationType::IMAGE)
- Rename allocationType to AllocationUsage to eliminate confusion
with multiple AllocationType enums / types
Change-Id: I16003297ecfcb0aaa5779ad00706c5d983914bbe
- 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
previously we couldn't add new variable to capabilityTable structure
becasue then we get too large function argument passed by
value
Change-Id: I162967ba195ec18fc781d127012f82e8876913a6
- move AUBDumpToggleCaptureOnOff from HKLM to HKCU without admin rights
- fix AUB subcapture in toggle mode to call make resident in standalone mode
Change-Id: Ia6971921f33bb9ca63112790af870217da8a1585
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
- This allows for ExecutionEnvironment to live longer then platform after
its global destruction
- Device adds references to ExecutionEnvironment after creation
- When device is destroyed it removes the dependency causing the cleanup
- Platform upon destruction no longer destroys the device, but decrements
the internal ref count.
Change-Id: I22593ea44b2b50e3416575a9e97e3ce0a1f8b5c0