Commit Graph

1971 Commits

Author SHA1 Message Date
Mateusz Jablonski 285ecbd9cb Add method to append gen specific surface state params
Add method to check if image format has alpha channel

Change-Id: I138f766c17654917b0357b1ec2250a8489738bef
2018-01-31 17:18:41 +01:00
Mateusz Jablonski 1d135a6a03 Fix calculating required cmd size
Change-Id: I3b409ca5eacc20f068b66df1fec5502dac41763d
2018-01-31 14:58:39 +01:00
Mrozek, Michal 9f048c8ce7 Add flag -fpreserve-vec3-type to internal options.
This flags informs compiler to not promote vec3 to vec4.

Change-Id: I98d04954ccf07c625c64831087adf1d5abd38bf5
2018-01-31 12:36:24 +01:00
Mateusz Jablonski 4aaa726758 Add method to add gen specific sampler state params
Change-Id: I6ea3747deabc9bc2aca38dce1ddfcca5158b9f41
2018-01-31 08:44:00 +01:00
Dale Stimson 5f98d9f9ff Add braces to avoid ambiguous 'else'
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>
2018-01-30 18:23:41 +01:00
Mrozek, Michal e6603a56f4 Create sip kernel when device is created
- This moves expensive sip kernel creation outside of enqueueNDRangeKernel

Change-Id: I4d09df46d993fa8f751468ed3adcff056e05ce13
2018-01-30 16:49:01 +01:00
ocldev aa171ea2f6 dependencies update
Change-Id: Ic0baa91b8e6a223fbdbc9243ebe7c5eb9f5a5661
2018-01-30 10:37:27 +01:00
Milczarek, Slawomir 7c038eb7a4 Add AUB generation in parallel to execution on GPU
This commit adds basic for parallel AUB generation and execution on GPU.

Change-Id: I3c77557a9578db05c87be6db7a5e3006f7c4b053
2018-01-29 17:24:26 +01:00
Dunajski, Bartosz 6ab39150e0 clGetDeviceIDsFromVA_APIMediaAdapterINTEL support
Change-Id: I3d43f00795c36562585bee7b4ee96123389586c7
2018-01-29 13:57:05 +01:00
Zdanowicz, Zbigniew f5513b6a1d Handle host pointer not meeting memory manager criteria
Change-Id: I65eec6083f1d8bb7b5f46e1a2e015aa6fd7f3d9f
2018-01-29 11:40:32 +01:00
Zdanowicz, Zbigniew e42d43953d Restrict system memory allocations to certain address range
Change-Id: Ibe8c1183368ce48f2c820d0f1a71f0b15703ffcd
2018-01-26 15:16:41 +01:00
Dunajski, Bartosz 3532c6373f D3D sharable 2D texture: Map Aux GpuVa and set renderCompressed if possible
Change-Id: I508965d07f456af74ecef6e980337f42f5967b43
2018-01-26 08:38:59 +01:00
Zdanowicz, Zbigniew 4ad96b75f5 Make base class for gmm_memory
Change-Id: I307f616be27d5fed126f0e36bff0d182ab7a8b53
2018-01-26 08:35:41 +01:00
mplewka 377fc8d20b Enable zero copy for enqueueReadBufferRect with hint
Change-Id: I4e7d89edfcff2674e7c163d70ad974d3464bf64f
2018-01-25 13:17:59 +01:00
mplewka 251de14ee6 Enable zero copy for enqueueWriteBufferRect with hint
Change-Id: I411f00b98056307906c02d34e793cefe460735ba
2018-01-25 11:48:10 +01:00
Dunajski, Bartosz f3f53ed14b Missing UnifiedAuxSurface check in MCS scenarios
Change-Id: I3b53ddea21997604481ece554cd24a6809523ab8
2018-01-25 10:25:12 +01:00
Mrozek, Michal 6b368803fc Add support for legacy kernel MOCS selection.
- Detect if driver is operating on patched legacy kernel.
- If turbo patch is detected, assume legacy custom kernel.
- Add simplified MOCS selection logic to GMM helper

Change-Id: I1ae821336205e473f00d72ddbfebee828427dfc7
2018-01-25 09:10:04 +01:00
Zdunowski, Piotr 0b6b12ea57 Globally enable priority hints extension.
Change-Id: I9f3b8d3cf1bedb41d9e0622ff514bf76b4518d8c
2018-01-24 20:07:31 +01:00
hjnapiat 5b0ebe25d5 Add support for GT-Pin Callbacks [2/n]
Change-Id: Ibdb76361be2a0e48888b46e9ed6dfe6b0ed49862
2018-01-24 16:25:02 +01:00
Mateusz Jablonski 9477f03f34 Program media sampler
Remove not needed includes in unit_tests/libult/genX.cpp files

Change-Id: Iac9957d0b148f80ba9432cabb881c3560d77702f
2018-01-24 15:57:51 +01:00
Mrozek, Michal 274c8084a3 For devices with small HW thread count, limit the available pool of LWS.
Change-Id: Ib3c0fea3e0422dae3bc93b891aab087ad597776e
2018-01-24 14:30:39 +01:00
Dunajski, Bartosz 5bee3c3312 Program CCS Aux params even if MCS allocation is available
Change-Id: I9ae5c1685fa9913e93a7660120da97ba777add31
2018-01-24 11:03:11 +01:00
Zdanowicz, Zbigniew 8c43b674ff Create all GPU bound allocations using memory manager
Change-Id: I2e88b8ee7c3a2b4e2c3fc2c887bfcb68e35ef539
2018-01-23 16:11:15 +01:00
Mateusz Jablonski 8d68788807 Remove not used files
Change-Id: I3c232d09023b7a327a5857c46fb9dfdbe63cdb6e
2018-01-23 12:47:20 +01:00
Pawel Wilma 369dcff34a Rename build type Release-Internal to ReleaseInternal
Change-Id: I2ec03a046ad84a571067230a011e38526bc8fdaa
2018-01-22 15:02:59 +01:00
mplewka 2c2bbbcdbb Add support for zero-copy r/w buffer
Change-Id: Ie9f3f2211d107eb338bd97692d36e9c7d7a0feab
2018-01-22 09:40:51 +01:00
ocldev 79e4b2c104 dependencies update
Change-Id: Ibdb61a83f11c32a26a9aa3680c55b9eeaaa30082
2018-01-19 14:56:29 +01:00
kkasper b08de2733e Fix status returned by clSetKernelArg.
- In case of mismatched access qualifiers it would return
  CL_INVALID_KERNEL_ARGS. This is not correct, CL_INVALID_ARG_VALUE
  should be returned instead.

Change-Id: I0dc929e22269b4e34e347502c6cc4067e67ba165
2018-01-19 13:38:52 +01:00
Mrozek, Michal 0066daf495 Add support for deletion of allocations that may be in use by GPU.
- 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
2018-01-19 12:34:49 +01:00
hjnapiat d91d01fedd Fix initialization of GT-Pin helpers
Change-Id: I20556d62f9914cd73d9d9da0678a051549d9f1b4
2018-01-19 11:00:58 +01:00
Mrozek, Michal 292d6c9bed Do not force stateless when m32 flag is passed.
Change-Id: I1915ffc82c35aa9ffe3fd4b108f717318fd1a67c
2018-01-19 07:57:35 +01:00
Mrozek, Michal c6233e1d06 Add support for deferred deletion of private surface.
- If it is in use add it to temporary allocation list
- If it is not in use destroy in place

Change-Id: I6304d1a3b641243f3f7eadff8e38d8515b132f68
2018-01-18 19:53:24 +01:00
Milczarek, Slawomir 3e84c4df7a Introduced a new graphics allocation type of ALLOCATION_TYPE_NON_AUB_WRITABLE.
This commit moves the allocation's aubfile write permission property
from OS agnostic MemoryAllocation to general GraphicsAllocation class.

Change-Id: I82ca2716d6b65d314460bd9f5d33e1113f9d7c07
2018-01-18 18:36:14 +01:00
Mateusz Jablonski 7c9378e973 Cleanup after changing pipeline select programing
Change-Id: I746b80b2537aa111d8e010749614c9debc0c89b5
2018-01-18 15:06:32 +01:00
Dunajski, Bartosz 8b9713582a Aux programming fixes + ULT improvements
- Dont program clear color aux params for multisampled images (depth or MCS)
- Mock Gmm PageTable manager default actions
- Local Wddm for WddmCsr tests to make expects on creation
- Set Gmm PageTable manager for Wddm Memory Manager tests without WddmCsr

Change-Id: I8ccfddb06340bc81184e07eff5a7078756d28571
2018-01-18 14:40:56 +01:00
Mateusz Jablonski 13ac81f465 Change pipeline select programing
- Program one PS with gpgpu selection and media sampler
- Program PS only when media sampler requirement changed
  or when preamble was not sent

Change-Id: I85ba3f74087733e79d048e120aeb8b4b04796e00
2018-01-18 14:39:47 +01:00
Mrozek, Michal ae1213a98d Fix use after free problem.
- freeGraphicsMemory checks for command stream receiver in device and
uses it if it is present.

Change-Id: I8e3f2202dc694bd8903b04780e550dc1fd115ef4
2018-01-18 12:04:46 +01:00
Dunajski, Bartosz 3b626a0290 Force Disable ftrCompression on Linux
Change-Id: Ia5dc4b323571442ee52551d93869163fc3f45834
2018-01-18 09:16:28 +01:00
Zdanowicz, Zbigniew 75a902bf2c Wddm freeGraphicsMemory should handle null GraphicsAllocation same as Drm
Change-Id: Idafdaf654f630d41b890f87c6e8c14833b18f714
2018-01-18 08:24:07 +01:00
Zdunowski, Piotr 5e7eccefe5 Improve error handling for shared objects.
Change-Id: I86fccb26cbf327b49c1b4992eeb3d25e52d3bced
2018-01-17 21:32:36 +01:00
Mrozek, Michal e2680d395c Fix incorrect pointer programming when offseted SVM pointers are used.
Change-Id: Idf8b6d9c116cf6fb8cfd069158e9eef4d981b272
2018-01-17 21:22:06 +01:00
Zdanowicz, Zbigniew fa43e42887 Resolve ambiguous include order for files of the same names for differen Gens
Change-Id: I26cfc73819884e967d47ef4cb95e2f3f4835ad4d
2018-01-17 18:52:30 +01:00
Mrozek, Michal e923c2211b Add Unrecoverable if GraphicsAllocation in use is being destroyed.
Change-Id: I74a54ef023c62e12d711db07d79942166e002188
2018-01-17 18:36:33 +01:00
Dunajski, Bartosz a9a24e82e5 Prefer render compression for tiled images
Change-Id: I1ae1cf9a5cfdc54ab4d889456e252cd1f9860883
2018-01-17 15:18:47 +01:00
Artur Harasimiuk 764f686ad9 minor tweak in instrumentation detection
IGDRCL__INSTRUMENTATION_DIR_SUFFIX depends on component availability. if
available we should use BRANCH_DIR_PREFIX otherwise it should be "/"

Change-Id: I8bdd80041afeda85d93e72b23b1f940fb04754fc
2018-01-17 13:57:35 +01:00
Koska, Andrzej be0306ca68 Adding support for passing proper extensions list from cloc to compilers
Change-Id: I89249cd6ccae9996cd33d7ba26007c778207f028
2018-01-17 12:47:44 +01:00
Chodor, Jaroslaw 044fd1ab81 Fixing IntDescr programing for blocked cmd and MT
Fixing InterfaceDescriptor programming for
blocked commands when MidThread preemption is
enabled
Additionally, fixing couple of tests that block
global preemption enabling in ULTs

Change-Id: I454c9608f8606f23d7446785ac24c7c7d8701ae0
2018-01-17 12:19:07 +01:00
Mrozek, Michal 41f0ac3019 Check if we do not access outside of array.
Change-Id: I3357b745d36398ad52777054f64a7915278c0463
2018-01-17 09:33:57 +01:00
Artur Harasimiuk 9e89d4e6cd refactor cmake to better detect and use instrumentation
Change-Id: I465c76f5d86331cf1ef4cbab054bc41e1c95716b
2018-01-17 00:07:10 +01:00
Zdanowicz, Zbigniew 602474f868 Command streamers should use device default engine type
Change-Id: I7286f15ba78001729ea489a43576d96f109d44f0
2018-01-16 22:37:44 +01:00