Commit Graph

194 Commits

Author SHA1 Message Date
96e3163386 Prepare to use gmm dynamic lib on Linux
Change-Id: Ie1b0c8fe13c4e044f1f2b0651349840d2850f423
2018-07-19 01:04:52 +02:00
1c0f90b194 Improve renderCompressed flags usage
Change-Id: Ib5fd8e078dba0f19dd65bc8cdc6cded771e559a2
2018-07-18 19:55:52 +02:00
407227959a Add memoryPool to GraphicsAllocation
- new ExtendableEnum struct that serves as enum but can
be extended with values
- decrease dependencies on graphics_allocation.h header -
 use forward class declaration when possible
- memoryPool indicates what kind of memory is allocated
for a given GraphicsAllocation

Change-Id: I7a707c28dc4544cc73abc5f0ed5263ba5be17452
2018-07-17 20:10:33 +02:00
d2e820aac8 Enhance validation in sharing scenarios.
Change-Id: I590c5d66602749fb5702e414ccf2b1acec3bc9e7
2018-07-17 19:47:54 +02:00
07031518dc Add error handling in d3d9 sharing scenario.
Change-Id: I3f337b633514d90298f03a9fa486757026137151
2018-07-17 19:25:36 +02:00
36db75da28 Create gmm client context wrapper, reduce mock_gmm
Change-Id: I4eec4366afeb175fea4bf7934e3046b50fe30fe9
2018-07-17 11:46:04 +02:00
8a69656446 Fix unrecoverable.
- Do not rely on device as it may be destroyed use
command stream receiver instead.

Change-Id: I2c8a1542a27e5688cec6031e931d5765bcbebc28
2018-07-16 17:30:56 +02:00
16d04fd276 AUB subcapture to read file name from outside and write into several files
Add a capability for AUB subcapture feature to dump into several files
and read file name from the outside (via regkey and env variable).

Change-Id: I2d5f7945cfbc740b0316fe23b8c5ae9fd698ac57
2018-07-14 13:10:35 +02:00
51421ec0b9 Add experimental command buffer
This code is an infrastructure for special debug purpose that allow measure
execution time of any hardware command.

Change-Id: Id12a7979d204734a0c4a6c4700e427b65ac2397f
2018-07-13 12:09:14 +02:00
a8ce3ca00a Wddm: Use GMM allocation size during map GPU VA
Change-Id: Ie10898db7c539ce5025ab4a6d658d6e593e94c50
2018-07-13 08:03:57 +02:00
1c17c3b325 Add RAII wrapper for DeviceFactory cleanup.
Change-Id: Iae94df4894bb6bcd64b22c4d197eec7d7fede0b5
2018-07-12 13:20:19 +02:00
55a045ebe1 Refactor graphics memory allocation scheme
- 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
2018-07-11 15:48:05 +02:00
a95c6d3c1a Remove memset on non POD
Change-Id: I74bf98f5dbdc5005081ee9a025a5b9641b6ca89f
2018-07-11 13:58:55 +02:00
56125ea381 Add tool for tracking events
Change-Id: Id61d814e4629a41a279d46097ec8b4f94a224234
2018-07-11 13:34:56 +02:00
92266e4ad1 Disable stateless to statefull with offset optimization on BDW.
- BDW doesn't support this optimization

Change-Id: Ic88556214c8d9a14ddb093b7c25587575e616f83
2018-07-10 17:49:55 +02:00
684b1d75ba Refactor GraphicsAllocation::AllocationType and allocationType enums
- 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
2018-07-06 13:00:08 +02:00
94dbdb602d Add instance of gmm helper to execution environment
Change-Id: I1b044611fbad91fbb681ba233938f41502f29056
2018-07-06 08:48:19 +02:00
e26d67cde3 Aux surface programming for Buffers [1/n]: Gmm interface improvement
Change-Id: I984b8ebee27808a236217e82bb4e910550d624c4
2018-07-03 13:00:08 +02:00
86565e5f06 AUB subcapture in toggle mode to be controlled with HKCU regkey
- 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
2018-07-03 12:56:06 +02:00
784ddf0a6c cleanup dead code, readability fixes
Change-Id: I91a3947d4ec0ef2264afed5abc58ff66151f0dc6
2018-07-02 12:50:15 +02:00
3548876263 Setting the GpuAddress from a fragment in createGraphicsAllocation
Change-Id: I4d60aceea96dfbe50b2af4a1fbaada6a150ddd35
2018-06-29 16:13:29 +02:00
e18e9fb94e Move static methods from Gmm to new GmmHelper class
Change-Id: I84fbe94f0e1072324164086b456c71a46ae5040c
2018-06-27 16:46:09 +02:00
4a4ad6460c Revert: Setting the GpuAddress from a fragment in createGraphicsAllocation
Change-Id: Ifd0a26f58b748df5e43e57b4e0be6b94c2051890
2018-06-26 17:05:26 +02:00
b563e07394 Setting the GpuAddress from a fragment in createGraphicsAllocation
Change-Id: I4f6afbdd4d86ab2958de29cf49aaed9b8e2ea642
2018-06-26 14:43:08 +02:00
e47344ec0e Add debug flag CreateMultipleDevices.
- This flag allows to create multiple devices from the same GPU

Change-Id: I4b80e4759543ca4559549b2d26c5ddef241f9ebb
2018-06-20 18:33:32 +02:00
3ae56d6c8d Mark buffers as not resident after exec
Change-Id: I6406c626bfaadf01149a8464db2bb4278cbdcbce
2018-06-18 17:44:05 +02:00
fa3c4d83db Add debug flag to force rebuild pre-compiled kernels in runtime
Change-Id: I1e6bf94de3748e43c4ca80fd41c488665e0c5604
2018-06-18 14:23:54 +02:00
e15c2b899f Setting the right handle value in fragment
Change-Id: Idcbdce5fc686360f252c8db0423ae77d9155702e
2018-06-15 16:36:52 +02:00
eb1b5ded9c Add support for AUB subcapture (filter and toggle modes)
This commit adds a capability to selectively enable/disable AUB capture,
i.e. by toggling the registry key from the outside or specifying the filter
with a kernel name and/or kernel start index and kernel end index.

Change-Id: Ib5d39c21863fbc4a95aa73c949b9779ff993de0f
2018-06-15 13:02:27 +02:00
75ab0c6fe1 Switch clang-format to 6.0
Change-Id: Id96d1f47fb3d479d10d1022f1259dc030a148192
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2018-06-14 09:45:00 +02:00
3a369ad500 Improve Wddm creation
Pick interface version basing on Ftr flag

Change-Id: I09880610922a6d451fc6f414a4fa5857449bc0f4
2018-06-14 09:06:40 +02:00
4d48a6afec Call makeResident only once per BufferObject
When different graphics allocations are created from
the same backing storage makeResident should be called only once.

Change-Id: Ide8ab385894505fd405eef010768dbcac3b92fba
Signed-off-by: Jacek Danecki <jacek.danecki@intel.com>
2018-06-11 23:28:38 +02:00
5007c60a03 Generate dll names to lib_names.h
Remove some not needed ifdef blocks

Change-Id: I29f787bde819a2f19312dd5713df0d4534a47cd8
2018-06-11 18:00:56 +02:00
98b8b4b6a4 Prepare to use gmm as dll on Windows
Since this commit neo on Windows can use static or shared gmm lib

Change-Id: I7db70d7f9bc969e8193ac77e8b6d65ecc57d0093
2018-06-08 17:35:01 +02:00
c1782b802a Add debug flag to override platform used by compiler
Change-Id: I6fc4254f928158d0cb07f53436d1ddd09fcef7d5
2018-06-08 16:53:59 +02:00
fe56c57318 Tracking the internal allocation when creating a buffer
This fix prevents the creation of a buffer from the pointer
obtained from clEnqueueMapBuffer

Change-Id: I203f2d5263eeb02fe0d73bc9db159438af3cf1fc
2018-06-08 07:33:07 +02:00
f24ec6ec33 Add DisableZeroCopyForBuffers debug flag.
- This flag disables zero copy for all buffers.

Change-Id: I882f01942f99e399e33f5fe2750acbcc0476457c
2018-06-07 11:28:54 +02:00
36621b2488 Use product aub device id and make it configurable by using debug flag
Change-Id: Ie65eea0f72497ef68e805ad438f4f53df731d304
2018-06-06 17:09:21 +02:00
e6a9d30951 Add debug flag to override fp64 capabilities
Change-Id: I5078aaaeeb58b4821e7c9ae4b01e0a8261a5c8da
2018-06-06 16:12:37 +02:00
52209b5487 Add SchedulerGWS debug variable
- SchedulerGWS forces gws for scheduler kernel - useful when using
TBX server
- Fix misaligned scattered write in scheduler kernel when
SchedulerSimulationReturnInstance is set to value > 1
- Fix copy_test_files dependecy - modification of files in test_files
triggers copy_test_files targets

Change-Id: Ieee2ddec67f6c61ab942d764c7ad076b3b6ca887
2018-06-06 13:38:37 +02:00
4f3e03b560 Forbid copying of objects when it could cause memory leaks.
Change-Id: I079345fb0bf74babb7aa072ddee4f3a853e2572c
2018-06-05 18:32:40 +02:00
a7520e7a3d setting unique file names for the rest of the cpp files
Change-Id: I34f168714e6f66611bee0a755621aeeea0ddc13f
2018-06-04 08:29:55 +02:00
981c97005a Enable stateless to stateful with offset optimization.
Change-Id: I03f6094f4f19ac687dc71790a64bc9e0a8b3212c
2018-06-03 20:27:45 +02:00
0052ab82b1 Internal update
Change-Id: I89f7717cea56df4d8b7282a28ff56dfedb92f3ea
2018-05-30 11:30:25 +02:00
972c080083 enable & switch to clang 6.0
Change-Id: I61910614ddaa37db18a3d995fa94efb03238279a
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2018-05-25 10:08:26 +02:00
71b844f522 Wddm interface [7/n]: Add 2.3 interface with HW queue support
Change-Id: Ia0e829b8616b7060e39170aea0f1d2f123d73399
2018-05-24 10:26:58 +02:00
09e4dab4f6 Create os specific thread implementation
Change-Id: I267d6cb021a75713c28a7bbf29384da13d2a7217
2018-05-23 17:27:31 +02:00
4cb86b4045 Add debug flag that controls zero copy for CL_MEM_USE_HOST_PTR buffers.
- when flag is enabled driver will not go with zero copy path for
CL_MEM_USE_HOST_PTR flag

- flag doesn't work in shared context where we must accept zero copy
storage.

Change-Id: Idda94f296dd12e7e3ccb15f2224808287551ac97
2018-05-21 12:08:59 +02:00
d2817427af Remove createInternalGraphicsAllocation function.
- Route directly to allocate32BitGraphicsMemory

Change-Id: Ia6872bae655c530ff06b0ec270f419ca91d005ce
2018-05-21 04:11:43 +02:00
430f6def75 Wddm interface [5/n]: cmake improvements to find all existing source files
Change-Id: I2f3f004b964f472085a1f036b40f0552489ac288
2018-05-16 14:57:14 +02:00