Commit Graph

283 Commits

Author SHA1 Message Date
Artur Harasimiuk d510f8c865 Khronos headers have absolute priority over other
In some cases we may hit issue because of different version of Khronos
headers available to include. The version from Khronos public github
repository has absolute priority.

Change-Id: I3d336943a3779d75d1a0f4bf4990a61ae6c0e2f2
2018-03-02 09:49:46 +01:00
Artur Harasimiuk f1f9fba509 use ADAPTER_INFO in Wddm only
do all transform and conversion in enumAdapters and return HardwareInfo.
the ADAPTER_INFO structure may vary and SkuInfoTransfer is responsible
to copy/deduce required flags, it can be done as a part of enumAdapter.

Change-Id: Iad6fd5f7094f591a0175025c9ec33a96e55ebdc9
2018-03-02 09:45:03 +01:00
Artur Harasimiuk e6a956d7c9 update method to find Instrumentation library
search order is:
1. check if variable INSTRUMENTATION_LIB_NAME is set. if yes it will
provide lib name and target have to be present
2. check if source location was given. use it if yes
3. check if folder in workspace exists

When library is found then dependency is added to ensure build order
When none of above found support in Neo will be disabled (stub is used)

Change-Id: I9151f4002997ab5cfd1a397794f11cc18dfe44fa
2018-03-02 08:12:02 +01:00
ocldev 64e37fdf72 dependencies update
Change-Id: I7b649b963ba3107cbe45db9a3bacbb2bf60cbdbd
2018-03-02 00:40:39 +01:00
Mateusz Jablonski d1aa5f978d Cmake refactor part 6
Add macro to add all subdirectories
Add macro to create project source tree based on target sources
Small cleanup runtime/CMakeLists.txt

Change-Id: I9b99145c544f648c4c3fe7421752d0c5d9504edf
2018-03-02 00:39:41 +01:00
Milczarek, Slawomir bb58c9fc2f AUB CSR flush to process residency in standalone mode only
This commit eliminates redundancy in calling processResidency() for AUB CSR
twice in the HW CSR with AUB dump configuration.

Change-Id: Ib49c80fa9d81a495dfb7261ff76e0b9b1422e42d
2018-03-01 21:51:18 +01:00
Mrozek, Michal b2f964dcf2 [6/n] Internal 4GB allocator
-Use GPU address to program command buffer in WDMM.

Change-Id: Iea6e423ccb18a09b4969a10cf2bd44d7a6af6629
2018-03-01 21:50:14 +01:00
Woloszyn, Wojciech 5c8cd51fc8 Use allocateGraphicsMemoryForImage for mipmaps
Change-Id: I0cd740ca4c8286fb73f766b74abc50ed53cfc9d0
2018-03-01 20:39:15 +01:00
Mrozek, Michal 3e3c6c28c7 Change default value of UseNoRingFlushesKmdMode to true.
Change-Id: I7c7246aeebb2815262cb2cd4731aabb2d74a3002
2018-03-01 17:25:38 +01:00
Stefanowski, Adam 95bd4a3d3a fix parsing in debug file reader
Change-Id: I6812a2ea0336152a9f5d1bc9d95f30a91392cf79
2018-03-01 17:24:32 +01:00
Slawomir Milczarek f217c9198c Add support for resource lock / unlock on Linux OS
This commit fixes the issue with image contents writes
in the configuration of CSR HW with AUB dump.

Change-Id: Id0c4f36d4f9eee5175267384d42cb75bf41062f3
2018-03-01 15:01:49 +01:00
Mateusz Jablonski bf5170dbeb Rename TestDebugVariables.def to TestDebugVariables.inl
Change-Id: I0997b99955e360d7ed54ecfaa91fc11e4a48bf77
2018-03-01 14:28:04 +01:00
Dunajski, Bartosz d9dd68a8ef Remove copy constructor for GraphicsAllocation
Change-Id: If547a004b6f9e5cadb1f6ba0a0f44c3ac0d1ff0d
2018-03-01 14:00:24 +01:00
Mrozek, Michal eea76094a1 [5/n] Internal 4GB allocator.
- Refactor drm memory manager tests.
- use dbg state restore
- use unique_ptr

Change-Id: Idaf831334f01ce2a20f2fec23ef146b6070c2172
2018-03-01 13:56:22 +01:00
Mateusz Jablonski f407cdeada Add cmake flag to force using response file in ninja
Change-Id: I13179ba6df2f5d8351e878c7a6ef59100deafffe
2018-03-01 11:53:22 +01:00
Mrozek, Michal 0b8234117b Add support for createInternalGraphicsAllocation in DRM
Change-Id: I84090dfc4774506dee993e9c0c78c336367c43fd
2018-03-01 11:30:38 +01:00
Artur Harasimiuk 9e9876cd17 remove unused field
Change-Id: I280be1b690f826ad63f77943f3fb54d6da2bd65b
2018-03-01 09:14:07 +01:00
Artur Harasimiuk 3706e6285d detect WDK prior to subcomponent inclusion
some of our dependencies require WDK to work. by setting WDK_DIR and
WDK_VERSION variables we advertise this to them

Change-Id: I2a46d9e30ca3ca60acd2bc76f75c4dac34a143f8
2018-02-28 22:41:37 +01:00
Artur Harasimiuk ccb1c1f5ba dependencies update
Change-Id: I04512b21d5d5a148c5c12eb9640fe5cb7dab41df
2018-02-28 18:38:35 +01:00
Mrozek, Michal 7f7daef49c Avoid default parameter to program constructor.
Change-Id: I75e9a619131f7d8721416cf18d87418568d04f25
2018-02-28 16:56:07 +01:00
Mrozek, Michal 0b6acb4d7a [3/n] Internal 4GB allocator.
-Do not create allocator 32 bit with every DRM memory manager
-This is not needed for apps that do not use this.
-Add allocation of allocator to setForce32BitAddressing

Change-Id: I836b60f6b74eecf678cc9d56851797d0db176107
2018-02-28 16:54:49 +01:00
Mateusz Jablonski cb37fb97a3 Rename DebugVariables.def to DebugVariables.inl
Append this file to project source tree

Change-Id: I1d1f8538f6d28abd053a3106f9ffe4b955530416
2018-02-28 14:18:14 +01:00
mplewka 8ace8f8256 Provide smaller surface size for tests
Change-Id: I3f08b85c17ee89f710a449dea3d71c9ecba5b44e
2018-02-28 14:04:23 +01:00
Mrozek, Michal 0e3f2bf361 [4/n] Internal 4GB allocator
-Allocate internal 4GB allocator when DRM memory manager is created.

Change-Id: I072e81de219415a6c02ab1fd1b41b6a8338ee67c
2018-02-28 12:52:31 +01:00
Artur Harasimiuk c1683691c0 enable perf counters for events
added CL_PROFILING_COMMAND_PERFCOUNTERS_INTEL to cl_ext_private.h header
to expose this query

Change-Id: I8881456c54d391a66c2ce619a1a47ad1219c4376
2018-02-28 12:09:55 +01:00
Mrozek, Michal 52cdb7e57d [2/n] Internal 4GB allocator
- Add test for new parameter to mapGpuVirtualAddress

Change-Id: Ie374981fb58892e974efb80ba944419564422d98
2018-02-28 10:04:53 +01:00
Artur Harasimiuk cc7a42a421 remove obsolete header
Change-Id: Ie5ff69ff6b8a5e3c4a47ffb45f49e05bdc8b0544
2018-02-28 09:44:44 +01:00
Artur Harasimiuk 5c83a077ff refactored Event::getEventProfilingInfo
- depending on argument different parameter size may be returned. we
  shouldn't check this at the beginning of file but after checking
  parameter name.
- check retVal in profiling ULTs

Change-Id: I18a80545111d6efffd0a176340b3c3234f53af08
2018-02-28 09:43:47 +01:00
Mateusz Jablonski 679827ca21 Rename CMAKE_SOURCE_DIR to IGDRCL_SOURCE_DIR in source definitions
Change-Id: Ie889589edeee6b7eb922360339450fd01cc278af
2018-02-27 17:58:24 +01:00
Dunajski, Bartosz ace8fb78d7 Improve CFL device ID ULTs
Change-Id: Iae13c3e7e9b3bd106cda1b22508acb8871468ec6
2018-02-27 17:57:18 +01:00
Mrozek, Michal 19c68a608f [1/n] Internal 4GB allocator
- Add new entry point in memory manager for internal allocations.
- Route to allocate32BitGraphicsMemory
- Add new enum to control memory region
- Change mm to memoryManager

Change-Id: I2ee069aa9baf7f69f652022e026569ec4fdb9d77
2018-02-27 16:35:12 +01:00
Mateusz Jablonski 386675480f Cmake refactor part 5
Move os_interface and dll source files definition to cmake files
in subdirectories

Change-Id: I6baa5ac0cbc64d0a4a9fe9541f0c3b730c9a2119
2018-02-27 14:31:48 +01:00
Dunajski, Bartosz b055265549 Missing device IDs: 10x BDW, 6x BXT, 2x CFL
Change-Id: I223006c9ca65e44cfd4042e6d933f331a156d278
2018-02-27 11:35:48 +01:00
Artur Harasimiuk 8744ddcfd3 use shlibdeps to generate dependecy list for DEB package
CPackDeb has support for CPACK_DEBIAN_PACKAGE_SHLIBDEPS options. it
allows to improve dependency generation.

Change-Id: I4b87611409476e98ffb5fc66ab7083c63e2739ea
2018-02-27 11:34:47 +01:00
Mrozek, Michal cd747b7b8c Change notify delay to use microseconds.
- Microseconds offer better precision.
- Some workloads require threshold less then 1 millisecond to work
efficiently.

Change-Id: I1a565049340fb6eeebe5c0a61ededae9959daca8
2018-02-27 09:10:49 +01:00
Mrozek, Michal 3da9df23a9 Flush DC in case shared objects are used.
- Due to use cases where one shared buffer may be mapped to multiple CL
buffers we need to flush DC between enqueues.

Change-Id: I05d7f844afe31d52a0004f5e2e5efa776f9dadbe
2018-02-26 15:51:06 +01:00
Artur Harasimiuk 0c92f8fdfa update LIMITATIONS.md
We no longer hard-require to have Khronos ICD. Neo can work with ocl-icd.
Removing warning about above reported by cmake.

Change-Id: Icf24a04b531092751de10229d0e452eebe729c98
2018-02-26 15:50:03 +01:00
Artur Harasimiuk 4636367d55 update method to find Intel Graphics Compiler
search order is:
1. check variable IGC__IGC_TARGETS. if set it provides a list of targets
required to get compiler stack
2. check for variable IGC_DIR. if set include such folder
3. check if gmmlib folder exists in workspace. if yes, then include this
folder

When including folder (2 & 3), it is expected that IGC__IGC_TARGETS
variable will be exposed

Change-Id: I853606971a6b8d094ae13f7681857fe7717b9cd3
2018-02-26 13:59:19 +01:00
Mrozek, Michal e8f5f5286d Remove not used code.
Change-Id: I7a1453c816f775bbaa38c2db3f31d21dff36c344
2018-02-26 12:35:02 +01:00
Artur Harasimiuk c50054f787 enable interoperability with ocl-icd
according to spec we have to export clGetPlatformInfo API entry point
for Installable Client Driver (ICD) to work.

on Linux it requires extra flag for linker to avoid loop in dispatch
table.

Change-Id: I2f6cf7da10e3a346c363d7bc94d9eff1eeb64895
2018-02-26 10:55:06 +01:00
Artur Harasimiuk be0150a563 WUD is default for Neo@Windows
There is no need to have this macro and execute it twice

Change-Id: I3756913d2dbba100bb173771d085c609e4509e69
2018-02-26 09:06:48 +01:00
Artur Harasimiuk 2e5e1ac0fb update method to find GmmLib
search order is:
1. check variable GMMUMD_LIB_NAME. if set target of this name should
exist
2. check for variable GMM_SOURCE_DIR. if set include such folder and
check GMMUMD_LIB_NAME for library name assumig 'gmm_umd' as default
3. check if gmmlib folder exists in workspace. if yes, then include it
and check GMMUMD_LIB_NAME for library name assuming 'gmm_umd' as default

Change-Id: I9f5f69ab97c0bb8f2c250ac91b69c3ccd048fdda
2018-02-26 09:05:52 +01:00
Mrozek, Michal 7255b17d6b Move register definition to common header file.
- It is not gen9 specific.
- Remove now obsolete header.

Change-Id: I03e7631c60e4263bcc52dca9f9df19fdba1ed702
2018-02-26 08:33:46 +01:00
Mrozek, Michal 2dedaf1521 ULT execution time improvements.
- Do not open file twice, loadDataFromFile checks if file is successfully
opened and returns 0 if not.

Change-Id: I8ca73b281ea13033746f8203f482d9af7a2739b7
2018-02-26 08:32:48 +01:00
Mrozek, Michal 52044281d1 Optimize binary caching ULT.
- after the change test if faster 5 times

Change-Id: Ib6fdc6853e8b431d152ab943052112c3425031d4
2018-02-26 07:02:44 +01:00
Dunajski, Bartosz 3c4bc00eae Refactor Pipe Control setup before VFE command
Change-Id: Iaed34cb9cf0e5a628c54950d97df7d8c4b5bf69b
2018-02-23 19:05:29 +01:00
Milczarek, Slawomir 103b560655 User space AUBs to store GPU address in non-canonical form
This commit ensures that GPU address be stored to AUB file in decanonized form

Change-Id: I6deb98e59d8c23d47d945a84c57ce81c0c5e2ba4
2018-02-23 17:46:05 +01:00
Zdunowski, Piotr e3268f8a9c Revert "Allow custom props settings."
This reverts commit f43a04d3b2.

Change-Id: Ib4cd854c19fe96b0ea9d5e3782d1247c265927c9
2018-02-23 16:01:31 +01:00
Mrozek, Michal a891b23830 Fix profiling in device enqueue scenarios.
- Remove high part define as well.

Change-Id: Ie57b8e682507e4b620ad96de2b969dd0163315e0
2018-02-23 13:21:04 +01:00
Dunajski, Bartosz dd44a87d5f Map/unmap enqueue fixes [6/n]: Support multiple map operations
- Dont make cpu/gpu writes on read-only unmap
- Read/Write on limited map range only
- Overlaps checks for non read-only maps
- Fixed cmd type on returned event

Change-Id: I98ca542e8d369d2426a87279f86cadb0bf3db299
2018-02-23 10:45:06 +01:00