xref: /linux/drivers/gpu/drm/i915/gt/shaders/README (revision 4f9786035f9e519db41375818e1d0b5f20da2f10)
15a7eeb8bSRodrigo ViviASM sources for auto generated shaders
25a7eeb8bSRodrigo Vivi======================================
35a7eeb8bSRodrigo Vivi
45a7eeb8bSRodrigo ViviThe i915/gt/hsw_clear_kernel.c and i915/gt/ivb_clear_kernel.c files contain
55a7eeb8bSRodrigo Vivipre-compiled batch chunks that will clear any residual render cache during
65a7eeb8bSRodrigo Vivicontext switch.
75a7eeb8bSRodrigo Vivi
85a7eeb8bSRodrigo ViviThey are generated from their respective platform ASM files present on
95a7eeb8bSRodrigo Vivii915/gt/shaders/clear_kernel directory.
105a7eeb8bSRodrigo Vivi
115a7eeb8bSRodrigo ViviThe generated .c files should never be modified directly. Instead, any modification
125a7eeb8bSRodrigo Vivineeds to be done on the on their respective ASM files and build instructions below
13*c156ef57SNitin Goteneeds to be followed.
145a7eeb8bSRodrigo Vivi
155a7eeb8bSRodrigo ViviBuilding
165a7eeb8bSRodrigo Vivi========
175a7eeb8bSRodrigo Vivi
185a7eeb8bSRodrigo ViviEnvironment
195a7eeb8bSRodrigo Vivi-----------
205a7eeb8bSRodrigo Vivi
215a7eeb8bSRodrigo ViviIGT GPU tool scripts and the Mesa's i965 instruction assembler tool are used
225a7eeb8bSRodrigo Vivion building.
235a7eeb8bSRodrigo Vivi
245a7eeb8bSRodrigo ViviPlease make sure your Mesa tool is compiled with "-Dtools=intel" and
255a7eeb8bSRodrigo Vivi"-Ddri-drivers=i965", and run this script from IGT source root directory"
265a7eeb8bSRodrigo Vivi
27*c156ef57SNitin GoteThe instructions below assume:
285a7eeb8bSRodrigo Vivi    *  IGT gpu tools source code is located on your home directory (~) as ~/igt
295a7eeb8bSRodrigo Vivi    *  Mesa source code is located on your home directory (~) as ~/mesa
305a7eeb8bSRodrigo Vivi       and built under the ~/mesa/build directory
315a7eeb8bSRodrigo Vivi    *  Linux kernel source code is under your home directory (~) as ~/linux
325a7eeb8bSRodrigo Vivi
335a7eeb8bSRodrigo ViviInstructions
345a7eeb8bSRodrigo Vivi------------
355a7eeb8bSRodrigo Vivi
365a7eeb8bSRodrigo Vivi~ $ cp ~/linux/drivers/gpu/drm/i915/gt/shaders/clear_kernel/ivb.asm \
375a7eeb8bSRodrigo Vivi       ~/igt/lib/i915/shaders/clear_kernel/ivb.asm
385a7eeb8bSRodrigo Vivi~ $ cd ~/igt
395a7eeb8bSRodrigo Viviigt $ ./scripts/generate_clear_kernel.sh -g ivb \
405a7eeb8bSRodrigo Vivi      -m ~/mesa/build/src/intel/tools/i965_asm
415a7eeb8bSRodrigo Vivi
425a7eeb8bSRodrigo Vivi~ $ cp ~/linux/drivers/gpu/drm/i915/gt/shaders/clear_kernel/hsw.asm \
435a7eeb8bSRodrigo Vivi    ~/igt/lib/i915/shaders/clear_kernel/hsw.asm
445a7eeb8bSRodrigo Vivi~ $ cd ~/igt
455a7eeb8bSRodrigo Viviigt $ ./scripts/generate_clear_kernel.sh -g hsw \
465a7eeb8bSRodrigo Vivi      -m ~/mesa/build/src/intel/tools/i965_asm
47