Commit Graph

363 Commits

Author SHA1 Message Date
Koska, Andrzej
b0a6d9131a Making DSH and IOH always resident
Change-Id: Ib114b92cb5ee153f213c15c935f8f1d1cfeb46eb
2018-04-13 12:35:15 +02:00
Chodor, Jaroslaw
d516cd6edc Don't expose mipmaps on 1.2 devices
Change-Id: Id7949266f29ef06ae71c88725298822055ca7c13
2018-04-13 11:22:33 +02:00
Jacek Danecki
1504d89571 switch to libva 2.x
- support for libva 1.x has been dropped

Change-Id: Ie5361b98cdd36144c9cd2a413c5fc2871655f333
2018-04-13 11:16:33 +02:00
Mrozek, Michal
2d7e551695 Fix cmake.
Change-Id: I28272db5309bbb84b312522d9c9b0e433eb4a183
2018-04-13 08:43:42 +02:00
Dunajski, Bartosz
f40dc29ea1 Dont change multisampled surface state storage for R32_FLOAT_X8X24 type
Change-Id: I5e386057e4368e0d80bed496f2ddc19b5ae271a5
2018-04-12 15:47:46 +02:00
Dunajski, Bartosz
bf799d99e0 Update manifest and add missing decalaration in cmake
Change-Id: If00bdc48e05ea2e00b871cca1f85722848f0378c
2018-04-12 14:28:36 +02:00
Jacek Danecki
e43c345e07 sharing: add context tests
Change-Id: I1dc504f6931ab0ae5645e9460ae0c0284704404c
2018-04-12 11:26:58 +02:00
Dunajski, Bartosz
acf97999f3 Force Kmd Notify timeout for Windows machines running on battery
- This is to improve battery usage while waiting in busy loop on CPU
- New Kmd Notify helper to maintain dynamic parameters
- Ask OS about battery status on longer waits
- Pick different timeout when using battery and optimization is disabled

Change-Id: I5f9c8c5a9c635652aac27c707f2b55933947a7fb
2018-04-12 10:03:10 +02:00
Mateusz Jablonski
881895bd2a Stop querying gpu frequency during each profiling data calculation
change type of profiling timer resolution in device info to double

Change-Id: I41a67ecf61cd3bdc5a997b1f083b9998063f4f7f
2018-04-11 12:00:41 +02:00
Chodor, Jaroslaw
1c3ff8a15b Adding mipmap support in sampler
* sampler mipmap lod/filtering programming
* sampler queries
* clCreateSamplerWithProperties
* fixed point numeric type (e.g. U4.8)

Change-Id: I6b496e6f067f6232bab464ab3ee74af8b00904d3
2018-04-10 22:15:09 +02:00
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