gmmlib/Source/GmmLib/ULT
johnmach c594fb320f
Fix regression and Enable ULT for DG2 (#76)
2021-12-08 19:15:57 +05:30
..
googletest Initial open source release for media-driver 2017-12-01 10:44:37 -08:00
CMakeLists.txt GMM Global Context removal (#62) 2021-12-03 21:57:13 +05:30
GmmAuxTableULT.cpp Disable ULT for 32bit 2019-10-15 07:02:10 -07:00
GmmAuxTableULT.h Fix regression and Enable ULT for DG2 (#76) 2021-12-08 19:15:57 +05:30
GmmCachePolicyULT.cpp Use DLL interfaces for ULT 2018-09-17 11:07:00 -07:00
GmmCachePolicyULT.h Coding style changes 2018-01-25 16:32:29 -08:00
GmmCommonULT.cpp Fix regression and Enable ULT for DG2 (#76) 2021-12-08 19:15:57 +05:30
GmmCommonULT.h GMM Global Context removal (#62) 2021-12-03 21:57:13 +05:30
GmmGen9CachePolicyULT.cpp Use DLL interfaces for ULT 2018-09-17 11:07:00 -07:00
GmmGen9CachePolicyULT.h Initial open source release for media-driver 2017-12-01 10:44:37 -08:00
GmmGen9ResourceULT.cpp GMM Global Context removal (#62) 2021-12-03 21:57:13 +05:30
GmmGen9ResourceULT.h Add ClientContext class 2018-01-11 13:55:42 -08:00
GmmGen10CachePolicyULT.cpp Coding style changes 2018-01-25 16:32:29 -08:00
GmmGen10CachePolicyULT.h Initial open source release for media-driver 2017-12-01 10:44:37 -08:00
GmmGen10ResourceULT.cpp Change recommended output dir in build instruction 2018-05-22 12:01:27 -07:00
GmmGen10ResourceULT.h Initial open source release for media-driver 2017-12-01 10:44:37 -08:00
GmmGen11CachePolicyULT.cpp Gen11 Fixed MOCS table 2019-03-22 15:40:04 -07:00
GmmGen11CachePolicyULT.h Add Gen11 support 2018-06-26 16:39:31 -07:00
GmmGen11ResourceULT.cpp Gmmlib uAPI Implemenetation to accept full comprehensive memory layout description 2020-10-27 04:36:12 -07:00
GmmGen11ResourceULT.h Adding Lakefield support 2019-02-14 10:58:49 -08:00
GmmGen12CachePolicyULT.cpp Xe_HP_SDV Unembargoed. (#43) 2021-04-21 20:06:34 +05:30
GmmGen12CachePolicyULT.h Add TGL_LP support 2019-09-13 22:48:13 -07:00
GmmGen12ResourceULT.cpp Fix regression and Enable ULT for DG2 (#76) 2021-12-08 19:15:57 +05:30
GmmGen12ResourceULT.h Add TGL_LP support 2019-09-13 22:48:13 -07:00
GmmGen12dGPUCachePolicyULT.cpp Fix regression and Enable ULT for DG2 (#76) 2021-12-08 19:15:57 +05:30
GmmGen12dGPUCachePolicyULT.h PVC Umembargo (#60) 2021-10-14 19:28:46 +05:30
GmmGen12dGPUResourceULT.cpp Fix regression and Enable ULT for DG2 (#76) 2021-12-08 19:15:57 +05:30
GmmGen12dGPUResourceULT.h DG1 Upstream 2020-06-18 21:16:28 +05:30
GmmMultiAdapterULT.cpp GMM Global Context removal (#62) 2021-12-03 21:57:13 +05:30
GmmMultiAdapterULT.h GMM Global Context removal (#62) 2021-12-03 21:57:13 +05:30
GmmResourceCpuBltULT.cpp Coding style changes 2018-01-25 16:32:29 -08:00
GmmResourceULT.cpp Fix uninitialized ExpectedQpitch Warning (#28) 2021-03-08 11:09:02 +05:30
GmmResourceULT.h Adding Support for DG2 (#74) 2021-12-04 17:44:40 +05:30
GmmULT.cpp Coding style changes 2018-01-25 16:32:29 -08:00
ReadMe.txt Initial open source release for media-driver 2017-12-01 10:44:37 -08:00
stdafx.h Add Pagetable manager and auxtable support. 2019-09-14 08:02:31 +05:30
targetver.h Initial open source release for media-driver 2017-12-01 10:44:37 -08:00

ReadMe.txt

========================================================================
    CONSOLE APPLICATION : GmmLibULT Project Overview
========================================================================
GMM ULT for the GMM Cache Policy.


GmmLibULT.vcxproj
    This is the main project file.

GmmLibULT.vcxproj.filters
    This is the filters file for VC++ project. 
    It contains information about the association between the files in your project 
    and the filters. This association is used in the IDE to show grouping of files with
    similar extensions under a specific node (for e.g. ".cpp" files are associated with the
    "Source Files" filter).

GmmLibULT.cpp
    This is the main application source file.

/////////////////////////////////////////////////////////////////////////////
Other standard files:

StdAfx.h, StdAfx.cpp
    These files are used to build a precompiled header (PCH) file
    named GmmLibULT.pch and a precompiled types file named StdAfx.obj.

/////////////////////////////////////////////////////////////////////////////
Other notes:
    This ULT is divided into 2 parts.
	1. CompileTime ULT - Runs with every Gmmlib build and KMD build
		How to trigger Test cases through commandline: 
			i. Run all Compile Time TestCases	--> GmmULT.exe	CTest*.*
			ii.Run Specific TestCase			--> GmmULT.exe	CTestGen9CachePolicy.*

	2. RunTime ULT - Runnable on Target system. Have to run it manually - not qualified to run on Host/Dev systems 
		How to trigger Test cases through commandline:
			i. CachePolicy ULT					--> GmmULT.exe	RTestGen9CachePolicy.*
			ii. Vulkan Generic Resource			--> GmmULT.exe	RTestVulkanResource.*Generic*
			ii. Vulkan Sparse Resource			--> GmmULT.exe	RTestVulkanResource.*Sparse*
		To Run the Test on target
			i.  Download Driver along with Test Tools, which has ExCITE DLL or build ExCITE DLL on your dev system with the installed driver source
			ii. Install driver and copy DLL in either C:\Windows\System32 (for 64-bit app/DLL) or C:\Windows\SysWoW64 or place it in ULT executable Directory
			iii. Specify commandline and run GMMULT.exe


Test Case: 
	> Test Case is defined by FIXTURE class -> Test Case = FIXTURE Class
	> Ex. class CTestResource :  public testing::Test	--> CTestResource is FIXTURE class

Test:
	> Test resides in FIXTURE. FIXTURE class has multiple tests
	> Ex. TEST_F(CTestResource, test2DResource) --> test2DResource is a test of test case - CTestResource

SetUp() vs SetUpTestCase()
	> SetUp() -> gets called for all the tests in a test case. This is per-test setup/tear down
	> SetUpTestCase() -> When multiple tests in a test case share resource or needs same set up, then instead of repeating set up 
						 per test, SetUpTestCase gets called once per test case and all the tests inside a test case, use same set up.


To exclude tests from execution
	> --gtest_filter=POSTIVE_PATTERNS[-NEGATIVE_PATTERNS]
	> Ex. --gtest_filter=-ABC.*:BCD.*


What happens when test/test case is triggered
	TEST_F(CTestGen9Resource, Test2DTileYResource) --> first instance of test in CTestGen9Resource FIXTURE test case
		1. CTestGen9Resource::SetUpTestCase() --> this sets up platform --> This step is skipped if this is subsequence test instances in test case.
			i. Calls CommonULT::SetUpTestCase() --> GmmInitGlobalContext() and other initialization
		2. CTestResource::CTestResource()
		3. CTestGen9Resource::CTestGen9Resource()
		4. Test_F body --> test execution
		5. CTestGen9Resource::~CTestGen9Resource()
		6. CTestResource::~CTestResource( )
		7. CommonULT::~CommonULT() -->  Destroys Global Context
		8. void CTestGen9Resource::TearDownTestCase()  --> only if this is last instance of test in test case


CompileTime cmdline: $(TargetDir)$(TargetFileName) --gtest_filter=CTestResource.Test2DTileYsResource

To debug failures, add the following in the command line argument: --gtest_break_on_failure
This will cause an assert to be hit whenever a test fails. You can use the call stack to go back to the failing test and debug.
/////////////////////////////////////////////////////////////////////////////