<feed xmlns='http://www.w3.org/2005/Atom'>
<title>igt-gpu-tools.git/lib/i915, branch master</title>
<subtitle>DRM IGT GPU Tools</subtitle>
<id>https://git.etezian.org/cgit.cgi/igt-gpu-tools.git/atom?h=master</id>
<link rel='self' href='https://git.etezian.org/cgit.cgi/igt-gpu-tools.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/igt-gpu-tools.git/'/>
<updated>2019-05-12T22:58:57+00:00</updated>
<entry>
<title>lib/i915: add gem_engine_topology library and for_each loop definition</title>
<updated>2019-05-12T22:58:57+00:00</updated>
<author>
<name>Andi Shyti</name>
<email>andi.shyti@intel.com</email>
</author>
<published>2019-03-28T15:09:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/igt-gpu-tools.git/commit/?id=7d439890b2b9deda54dd2929bb1591f9791eed28'/>
<id>urn:sha1:7d439890b2b9deda54dd2929bb1591f9791eed28</id>
<content type='text'>
The gem_engine_topology library is a set of functions that
interface with the query and getparam/setparam ioctls.

The library's access point is the 'intel_init_engine_list()'
function that, everytime is called, generates the list of active
engines and returns them in a 'struct intel_engine_data'. The
structure contains only the engines that are actively present in
the GPU.

The function can work in both the cases that the query and
getparam ioctls are implemented or not by the running kernel. In
case they are implemented, a query is made to the driver to fetch
the list of active engines. In case they are not implemented, the
list is taken from the 'intel_execution_engines2' array and
stored only after checking their presence.

The gem_engine_topology library provides some iteration helpers:

 - intel_get_current_engine(): provides the current engine in the
   iteration.

 - intel_get_current_physical_engine(): provides the current
   physical engine, if the current engine is a virtual engine,
   it moves forward until it finds a physical engine.

 - intel_next_engine() it just increments the counter so that it
   points to the next engine.

Extend the 'for_each_engine_class_instance' so that it can loop
using the new 'intel_init_engine_list()' and rename it to
'for_each_context_engine'.

Move '__for_each_engine_class_instance' to gem_engine_topology.h
and rename it to '__for_each_static_engine'.

Update accordingly tests/perf_pmu.c to use correctly the new
for_each loops.

Signed-off-by: Andi Shyti &lt;andi.shyti@intel.com&gt;
</content>
</entry>
<entry>
<title>lib: ioctl_wrappers: reach engines by index as well</title>
<updated>2019-04-05T07:58:58+00:00</updated>
<author>
<name>Andi Shyti</name>
<email>andi.shyti@intel.com</email>
</author>
<published>2019-04-05T01:07:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/igt-gpu-tools.git/commit/?id=019f892e5d1a0a9643cb726c47ce2d99c14b444f'/>
<id>urn:sha1:019f892e5d1a0a9643cb726c47ce2d99c14b444f</id>
<content type='text'>
With the new engine query method engines are reachable through
an index and context they are combined with.

The 'gem_has_ring()' becomes 'gem_context_has_engine()' that
requires the index that the engine is mapped within the driver.
The function has been moved from lib/ioctl_wappers to
lib/i915/gem_context where it is more appropriate.

The previous 'gem_has_ring()' function becomes a wrapper to the
new 'gem_context_has_engine()'.

Signed-off-by: Andi Shyti &lt;andi.shyti@intel.com&gt;
Reviewed-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Reviewed-by: Tvrtko Ursulin &lt;tvrtko.ursulin@intel.com&gt;
</content>
</entry>
<entry>
<title>lib/i915: Improve gem_context error messages</title>
<updated>2019-03-26T10:38:07+00:00</updated>
<author>
<name>Chris Wilson</name>
<email>chris@chris-wilson.co.uk</email>
</author>
<published>2019-03-14T10:16:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/igt-gpu-tools.git/commit/?id=b9cfd64009ca2536f7a997deabf34d88f2757511'/>
<id>urn:sha1:b9cfd64009ca2536f7a997deabf34d88f2757511</id>
<content type='text'>
Avoid embedding the DRM_IOCTL() macro into the error message as it is
unreadable, and instead always wrap the ioctl with a self-descriptive
helper.

Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Reviewed-by: Tvrtko Ursulin &lt;tvrtko.ursulin@intel.com&gt;
</content>
</entry>
<entry>
<title>lib/i915: Pretty print HW semaphores</title>
<updated>2019-03-16T08:30:10+00:00</updated>
<author>
<name>Chris Wilson</name>
<email>chris@chris-wilson.co.uk</email>
</author>
<published>2019-02-03T12:46:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/igt-gpu-tools.git/commit/?id=71ad19eb8fe4f0eecae3bf063e107293b90b9abc'/>
<id>urn:sha1:71ad19eb8fe4f0eecae3bf063e107293b90b9abc</id>
<content type='text'>
Include whether the scheduler is using HW semaphore assistance in our
pretty debug strings, and make the caps known for requires.

Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Reviewed-by: Antonio Argenziano &lt;antonio.argenziano@intel.com&gt;
</content>
</entry>
<entry>
<title>lib/i915: Move mmap IOCTLs wrappers into separate file</title>
<updated>2019-02-26T18:05:17+00:00</updated>
<author>
<name>Antonio Argenziano</name>
<email>antonio.argenziano@intel.com</email>
</author>
<published>2019-02-26T17:30:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/igt-gpu-tools.git/commit/?id=1d8f3320cbc06fa73ad1487453a63993f17b9d57'/>
<id>urn:sha1:1d8f3320cbc06fa73ad1487453a63993f17b9d57</id>
<content type='text'>
Move all mmap flavours and support function to separate file in i915
folder. This helps with moving i915 specific functions away from common
libraries.

v2:
	- Autotools still exists. (Petri)
	- Include gem_mman.h directly. (Chris)

v3:
	- Keep includes explicit. (Chris)

Signed-off-by: Antonio Argenziano &lt;antonio.argenziano@intel.com&gt;
Cc: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Cc: Petri Latvala &lt;petri.latvala@intel.com&gt;
Reviewed-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
</content>
</entry>
<entry>
<title>tests/gem_media_vme: Simple test to exercise the VME block</title>
<updated>2019-02-05T12:23:09+00:00</updated>
<author>
<name>Tony Ye</name>
<email>tony.ye@intel.com</email>
</author>
<published>2018-11-13T14:36:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/igt-gpu-tools.git/commit/?id=c4b2b2f07fe8231afb8514fab19218dec95d562d'/>
<id>urn:sha1:c4b2b2f07fe8231afb8514fab19218dec95d562d</id>
<content type='text'>
Simple test which exercises the VME fixed function block.

v2: (Tvrtko Ursulin)
 * Small cleanups like copyright date, tabs, remove unused bits.

v3: (Tony Ye)
 * Added curbe data entry for dst surface.
 * Read the dst surface after the VME kernel being executed.

v4: (Tony Ye)
 * Added the media_vme.gxa kernel source code and compile instructions.

v5: (Tvrtko Ursulin)
 * Added hang detector.

v6: (Tvrtko Ursulin)
 * Replace gem_read with gem_sync. (Chris Wilson)

Signed-off-by: Tony Ye &lt;tony.ye@intel.com&gt;
Signed-off-by: Tvrtko Ursulin &lt;tvrtko.ursulin@intel.com&gt;
Cc: Tony Ye &lt;tony.ye@intel.com&gt;
Reviewed-by: Joonas Lahtinen &lt;joonas.lahtinen@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>lib/i915/gem_context: Help static analysis with execution flow</title>
<updated>2019-01-21T11:49:11+00:00</updated>
<author>
<name>Petri Latvala</name>
<email>petri.latvala@intel.com</email>
</author>
<published>2019-01-18T10:42:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/igt-gpu-tools.git/commit/?id=08822179e5e9d7ee7e76e1c912e45193f38c8cd7'/>
<id>urn:sha1:08822179e5e9d7ee7e76e1c912e45193f38c8cd7</id>
<content type='text'>
If an igt_ioctl fails, errno is set to non-zero, and static analysis
doesn't quite get it. Add an igt_assume() to help.

v2: Braces on both branches of an if (Chris)

Signed-off-by: Petri Latvala &lt;petri.latvala@intel.com&gt;
Cc: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Cc: Michał Winiarski &lt;michal.winiarski@intel.com&gt;
Reviewed-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
</content>
</entry>
<entry>
<title>libs: Add rendercopy support for GEN11</title>
<updated>2018-10-15T12:23:53+00:00</updated>
<author>
<name>Kalamarz, Lukasz</name>
<email>lukasz.kalamarz@intel.com</email>
</author>
<published>2018-10-10T10:48:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/igt-gpu-tools.git/commit/?id=68ff28a022dbaa26a20c8a3c0212011a006614b0'/>
<id>urn:sha1:68ff28a022dbaa26a20c8a3c0212011a006614b0</id>
<content type='text'>
This patch introduces a render copy shader for GEN11.

The plumbing is same as with GEN9, so we can reuse it, extracting the
common parts, and wrapping it in GEN-specific helpers.

v2: Added gen11 shader source path next to its binary form

Signed-off-by: Lukasz Kalamarz &lt;lukasz.kalamarz@intel.com&gt;
Cc: Michał Winiarski &lt;michal.winiarski@intel.com&gt;
Cc: Antonio Argenziano &lt;antonio.argenziano@intel.com&gt;
Cc: Lucas De Marchi &lt;lucas.demarchi@intel.com&gt;
Cc: Rodrigo Vivi &lt;rodrigo.vivi@intel.com&gt;
Cc: Katarzyna Dec &lt;katarzyna.dec@intel.com&gt;
Reviewed-by: Katarzyna Dec &lt;katarzyna.dec@intel.com&gt;
</content>
</entry>
<entry>
<title>lib/i915: Move shaders directory</title>
<updated>2018-10-04T07:34:20+00:00</updated>
<author>
<name>Katarzyna Dec</name>
<email>katarzyna.dec@intel.com</email>
</author>
<published>2018-10-03T13:48:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/igt-gpu-tools.git/commit/?id=bba38422e7f903094562f1b78cc3579683c0a667'/>
<id>urn:sha1:bba38422e7f903094562f1b78cc3579683c0a667</id>
<content type='text'>
In shaders/ directory we got Intel specific information. As igt
is a project for more vendors, let's move this directory to
lib/i915.

v2: Changed shaders directory path in library files comments.

Signed-off-by: Katarzyna Dec &lt;katarzyna.dec@intel.com&gt;
Cc: Arkadiusz Hiler &lt;arkadiusz.hiler@intel.com&gt;
Cc: Petri Latvala &lt;petri.latvala@intel.com&gt;
Cc: Kalamarz Lukasz &lt;lukasz.kalamarz@intel.com&gt;
Cc: Antonio Argenziano &lt;antonio.argenziano@intel.com&gt;
Reviewed-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
</content>
</entry>
<entry>
<title>lib/gt: Make use of dummyload library to create recursive batch</title>
<updated>2018-07-13T18:29:38+00:00</updated>
<author>
<name>Antonio Argenziano</name>
<email>antonio.argenziano@intel.com</email>
</author>
<published>2018-07-10T23:45:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/igt-gpu-tools.git/commit/?id=140a67c13aad2595ee6c72e41d14d35a793158b5'/>
<id>urn:sha1:140a67c13aad2595ee6c72e41d14d35a793158b5</id>
<content type='text'>
An hanging batch is nothing more than a spinning batch that never gets
stopped, so re-use the routines implemented in dummyload.c.

v2: Let caller decide spin loop size
v3: Only use loose loops for hangs (Chris)
v4: No requires
v5: Free the spinner
v6: Chamelium exists.

Signed-off-by: Antonio Argenziano &lt;antonio.argenziano@intel.com&gt; #v3
Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Reviewed-by: Antonio Argenziano &lt;antonio.argenziano@intel.com&gt;
</content>
</entry>
</feed>
