Commit Graph

353 Commits

Author SHA1 Message Date
Zdanowicz, Zbigniew
e51cb6bd0b Separate struct EnqueueOperation declaration and implementation
Change-Id: I537660867a1c98f957280237c14b7a1554fce3db
2018-04-10 16:36:48 +02:00
Mrozek, Michal
86e000f67a Do not use simplified Mocs Table on gen8 devices.
- On gen8 devices we are not using index to control caching, but we program
caches directly
- In such case we need to rely on values reported from GMM instead of using
Kernel Mocs indexes.

Change-Id: I6c030847509d8f39f63ac98ebd3ebd0b0907e625
2018-04-10 15:43:40 +02:00
Mateusz Jablonski
5d296f15e3 Validate image 2d sizes unless parent image is nv12
when any check in Image::validate method failed then early return

Change-Id: Ib28110ac493f5930ffa99fa7463443e9e7fc8fcf
2018-04-10 11:41:00 +02:00
Mateusz Jablonski
1843b23692 Fix image 2d validation
check image sizes only for image without parent mem object

Change-Id: I73189f1c73653f609c6e4d7dcb7a85d06a2f858a
2018-04-10 09:39:52 +02:00
Dunajski, Bartosz
87f8f735f9 Move KMD Notify logic from CSR to specialized helper
- Decission about timeout enabling and value moved out of CSR
- Timeout multiplier is no longer Linux specific

Change-Id: I6858fe2f811ef13802b95e0470e310210a9dea8b
2018-04-10 08:16:11 +02:00
Chodor, Jaroslaw
10ada58bd6 Fix for context lifetime management
Don't destroy context if any related memobject is alive

Change-Id: I7d4776b6bb16373adb367d2ab4e249c62353afbe
2018-04-09 17:23:29 +01:00
Hoppe, Mateusz
9a86f86a24 Source Level Debugger device debugger active flag
- device flag indicating if debugger is active
- when active, proper sip kernels must be used

Change-Id: I678367cdf8fab5d4b5770e3f471246ff6d6bd112
2018-04-09 14:02:45 +02:00
Chodor, Jaroslaw
6bf4135def Fix for externally synchronized events
When inheriting task count from parent events,
don't take into account externally synchronized events

Change-Id: I52d861e482669a18e2aca499c813716bb4951b74
2018-04-09 12:12:58 +02:00
Mateusz Jablonski
ac45ff74ec Fix creating image from image
- allow creating image 2d from non NV12 image 2d
- validate image descriptor and format when create image from image

Change-Id: Ie7887e75f1450fc723dc1d1ae9ff5639d88835fc
2018-04-09 11:29:11 +02:00
Mrozek, Michal
ffa9b097f5 [26/n] Internal 4GB allocator.
- change the way we handle blocked commands.
- instead of allocating CPU pointer and populating it with commands, create
real IndirectHeap that may be later submitted to the GPU
- that removes a lot of copy operations that were happening on submit time
- for device enqueue, this requires dsh & shh to be passed directly to the
underlying commands, in that scenario device queue buffers are not used

Change-Id: I1124a8edbb46777ea7f7d3a5946f302e7fdf9665
2018-04-09 10:47:37 +02:00
Chodor, Jaroslaw
614b69a3bf Adding support for get_image_num_mip_levels
* patch token decoding
* crossthread data patching

* additionally, fixing nasty ODR violation in VA tests
  (note : ODR = One Definition Rule)

Change-Id: I9803ed599826c97359349d2b8fa0d86e46cb33ea
2018-04-06 11:04:29 +02:00
Zdunowski, Piotr
5946a2cd15 Fix printf issue with printing pointers from 32bit kernel on 64bit system.
Change-Id: I77771b4ebe6c4335d51dc1834f0b8f9df2a069a4
2018-04-05 17:12:33 +02:00
Mateusz Jablonski
835a1da175 Update kernel allocation when substitute kernel heap
Change-Id: Iee02a93d4e10c7b32fae56ffa61c90d8617d6ec9
2018-04-05 10:49:40 +02:00
Zdanowicz, Zbigniew
9bc11a7f48 Adjust PLATFORM values for a given Product Family
Change-Id: I4522df78060861b6f91ac5f125cf6b11023f1509
2018-04-05 10:07:38 +02:00
Mateusz Jablonski
79a0e3253e Enable transforming image 3d to image 2d array
Change-Id: I8fdc6899780481bdebeaf858a330e9dea822bda3
2018-04-05 09:10:54 +02:00
Chodor, Jaroslaw
0a97dfbb2f [1/n] Mipmap support
* 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
2018-04-05 01:09:27 +02:00
Milczarek, Slawomir
6506df559b Fixed mip count programming in surface state for regular images
This commit addresses crashes during AUB playbacks in image scenarios.

Change-Id: I6d2f3917cdb3458c62382205c1a17bdc57239bb4
2018-04-04 16:50:11 +02:00
Zdanowicz, Zbigniew
b6b92ae808 Create GpgpuWalkerHelper class
Change-Id: Ia9aa7b816356aff57234b46ea3509b6bd9b7f14b
2018-04-04 16:42:16 +02:00
Dunajski, Bartosz
d51f2cd1ec Adjust KMD Notify delay on SKL
Change-Id: I2fb2b5bb79e786a0902747bef2720359f0a30da3
2018-04-04 08:49:24 +02:00
Jacek Danecki
d8199a4ebe refactor context creation
- createContextOsProperties is not needed anymore
- replace invalid context property value
  0x200D as invalid context property value should not be used,
  as it can be use in future as valid property

Change-Id: I569433b0f37bbce083f0d64ecf1dc80ff83bfb46
2018-04-04 08:07:28 +02:00
Mrozek, Michal
cbcf77ae49 Fix out of bound problem while estimating Indirect Object Heap.
- While estimating the required size of Indirect Object Heap we were not
handling properly the lack of local ids case
- In such case we should allocate one GRF per HW thread that will be unused

Change-Id: Ibcd359e431e3ffd9d55628ac7cf7eeefad72e7ba
2018-04-03 17:45:28 +02:00
Hoppe, Mateusz
4703417813 Use correct virtual addresses in TBX CSR makeCoherent method
- cpu virtual address was used instead of gpu va
- this caused incorrect behaviour of TBX server when
special heap allocator assigning GPU addresses was used

Change-Id: I2328cf2441be797311fd6a3c7b331b0fff79d4fc
2018-04-03 15:54:07 +02:00
Milczarek, Slawomir
b56289a507 User space AUBs capable of memory re-dumps on CPU-side memory modifications.
Any CPU related updates such as clEnqueueMapBuffer or similar
need to trigger a re-dump of memory prior to the next clEnqueue call.

Change-Id: I7b31e559278e92ff55b6ebab8ef4190caef1ebc0
2018-04-03 15:40:29 +02:00
Artur Harasimiuk
07a63c91df cl_cache: do not call fcl when not needed
call to FCL can be costly. we don't need this when kernel source is
simple and does not contain '#include'. In this case we can compute hash
directly based on kernel source.

Change-Id: I0455be57d9ee13919a53c145e3feeb00a113d71e
2018-04-03 13:34:02 +02:00
Dunajski, Bartosz
fbf00d38bb Improve KMD Notify timeout on BXT, CFL, GLK
Change-Id: I80a2ef94cc989b7d6e1ee824ce091418336d9337
2018-04-03 12:29:49 +02:00
Mrozek, Michal
e4c25f11de [25/n] Internal 4GB allocator.
- Do not obtain pattern allocation from reusable pool.
- This is due to the fact that it may contain allocations from internal
heap, which cannot be used for arguments declared as kernel argument.

Change-Id: I6c73445c409edc4ce25f8d8eba966f512dfd6cc9
2018-03-30 14:59:11 +02:00
Jobczyk, Lukasz
9700c9bc42 Add missing devices IDs in master branch
Change-Id: Ie73cf42f1d7ef6bb414630016d85e27038fab03b
2018-03-30 14:41:51 +02:00
Maciej Dziuban
0bac015d30 CapabilityTable adjustments part 3
- Fixed CMake to include enable_hw_info_config on Windows

Change-Id: Id976de4b10b2c5b21076b0c9307136735b9d9a7d
2018-03-30 13:44:47 +02:00
Mrozek, Michal
5dc0a7c731 Remove default value for dispatchWalker parameter.
Change-Id: I0676a353a4364339664edc416e36da37a345a4f6
2018-03-30 12:57:42 +02:00
Dunajski, Bartosz
8505658cab Multiply wait timeout by task count difference
- Linux specific
- Use only for non-quickSleep requests

Change-Id: I245546f83672d128377e51d92b6c7708a7448f05
2018-03-30 12:50:38 +02:00
Maciej Dziuban
f4af035ab7 CapabilityTable adjustments part 2
- Move Windows HardwareInfo configuration from DeviceFactory to HwInfoConfig
- Add ULTs for HwInfoConfig on Windows

Change-Id: I9b84bbe60ca9f2ad4ddc3119bc8cb88331a7d154
2018-03-30 11:31:14 +02:00
Mrozek, Michal
de315db953 [24/n] Internal 4GB allocator.
- Refactor tests for better maintenance
- Remove duplicated code.

Change-Id: I154cad43610497d2e1cabf99217820735d3868cd
2018-03-30 09:12:08 +02:00
Zdanowicz, Zbigniew
50ef7c0000 Adjust default engine type in Linux
Change-Id: I2cc7e4078e830f0844d6dc6fe7b4bfcdf92b0095
2018-03-29 22:56:34 +02:00
Dunajski, Bartosz
9e509f302a Coherency patch cleanup
Change-Id: I1aa89358e5ce9f977c689f18d9186447501ca558
2018-03-29 14:59:36 +02:00
Mrozek, Michal
296c527a0b [23/n] Internal 4GB allocator.
- Align SIP kernel & STATE_SIP programming.
- on Linux address may be non 0
- on Windows address is expected to be always 0

Change-Id: I385ed59ef652382f3f17d1afe55f6050d07ed1f4
2018-03-29 12:21:46 +02:00
Dunajski, Bartosz
2b6fc61e7b Revert "Coherency patch cleanup"
This reverts commit 8d7e175b12.

Change-Id: Ia5e2d3dd6f622859320e57e659c677c53b775d2a
2018-03-29 10:59:21 +02:00
Dunajski, Bartosz
8d7e175b12 Coherency patch cleanup
Change-Id: I03be418f7e85e599162494e3570a40b470709292
2018-03-29 09:45:31 +02:00
Artur Harasimiuk
7039ababb9 fix stringification of NEO_DRIVER_VERSION
use preprocessor sequence to convert define value to stirng:
 #define q(a) #a
 #define tostr(b) q(b)

Change-Id: If0a9ccfcc543523309be4995c05125bf8fbf2081
2018-03-29 09:23:24 +02:00
Mrozek, Michal
7f3c4d3d70 [22/n] Internal 4GB allocator.
- Finalize Instruction Heap removal.

Change-Id: Idd7df94a228238a5157c3251180fc3c8d3a189df
2018-03-29 08:17:32 +02:00
Mrozek, Michal
2be5934096 [21/n] Remove Instruction Heap from enqueue path.
- This removes Instruction Heap allocation from enqueue path
- Blocked path is handled as well
- Heap is no longer allocated on demand it is bind to kernelInfo.

Change-Id: I54545beceed3404ee0330a8bac2b0934944cac30
2018-03-28 20:15:55 +02:00
Dunajski, Bartosz
f2b96fa508 Adjust KMD Notify timeout for KBL
Change-Id: I8415bbe491bab793e8da57958c0cd198aa91fe2f
2018-03-28 16:16:09 +02:00
Mrozek, Michal
9bdf01468e [20/n] Internal 4GB allocator.
- Switch to internal heap for kernel ISA allocations.
- remove IH from various functions
- remove IHState from CSR , IH is never dirty
- ISA is no longer copied on enqueue calls.

Change-Id: I0099cf2a9ebab6192ea03a74dd35f7da963fd5a5
2018-03-28 16:07:26 +02:00
Dunajski, Bartosz
9f07de306c Adjust KMD Notify timeout for BDW
Change-Id: I135c4b013a3451d3914ec7ed53edc1fb9153aee0
2018-03-28 14:53:51 +02:00
Mrozek, Michal
3f59acf54a [19/n] Internal 4GB allocator.
- Allocator now uses uint64_t instead of void*.
- This is due to the fact that it is required to work on 64 bit addresses
in 32 bit dll.

Change-Id: Ia715ea7913efc95a2974aff8dff390203d8125a8
2018-03-28 14:38:23 +02:00
Zdunowski, Piotr
2cbb76ac88 Fix for reading pointers from printf surface on 32bit configurations.
Change-Id: I2b7511b33de6f20f612e87a7f32dd6fd5356b55a
2018-03-28 14:22:09 +02:00
Stefanowski, Adam
ffb33f5e86 refactor virtualAlloc methods
Change-Id: I06e93471b395818ad172048d545f1439066207d5
2018-03-28 14:12:21 +02:00
Artur Harasimiuk
9f5f0f64cb Revert "use externally provided names of compiler shared libraries"
This reverts commit 73e6846cda.

Change-Id: I2b39bb5b3186f14f1077c06adca8db242abf1e6b
2018-03-28 13:10:06 +02:00
Hoppe, Mateusz
aa088da8d3 User pointer read-only memory fix
- do not store fragment in map until hostPointerValidation
is done
- set pointers to nullptr after delete in cleanOsHandles

Change-Id: I0bf99c3215c4b91ce059bb4e94716671c49f1946
2018-03-28 12:42:31 +02:00
Artur Harasimiuk
73e6846cda use externally provided names of compiler shared libraries
Intel Graphics Compiler is preparing change to unify compiler naming.
They will expose two variables which we should use when loading compiler
libraries.

Change-Id: I49ea2ce9f4bb705ccd3fb8d2b19c61c0622e6c09
2018-03-28 10:35:53 +02:00
Milczarek, Slawomir
a02c3cb781 KM DAF AubCapture to recapture fill pattern allocations
The commit introduces a recapture of fill pattern allocations on every submit.

Change-Id: I634af075348dbc59c7809f58b8495326cab804e1
2018-03-27 16:38:41 +02:00