mesa/src/intel
Kenneth Graunke 28fcf5cd94 intel/genxml: Fix decoding of groups with fields smaller than a DWord.
Groups containing fields smaller than a DWord were not being decoded
correctly.  For example:

    <group count="32" start="32" size="4">
      <field name="Vertex Element Enables" start="0" end="3" type="uint"/>
    </group>

gen_field_iterator_next would properly walk over each element of the
array, incrementing group_iter, and calling iter_group_offset_bits()
to advance to the proper DWord.  However, the code to print the actual
values only considered iter->field->start/end, which are 0 and 3 in the
above example.  So it would always fetch bits 3:0 of the current DWord
when printing values, instead of advancing to each element of the array,
printing bits 0-3, 4-7, 8-11, and so on.

To fix this, we add new iter->start/end tracking, which properly
advances for each instance of a group's field.

Caught by Matt Turner while working on 3DSTATE_VF_COMPONENT_PACKING,
with a patch to convert it to use an array of bitfields (the example
above).

This also fixes the decoding of 3DSTATE_SBE's "Attribute Active
Component Format" fields.

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
2017-10-30 20:22:55 -07:00
..
blorp blorp: enable R32G32B32X32 blorp ccs copies 2017-10-21 02:37:33 +01:00
common intel/genxml: Fix decoding of groups with fields smaller than a DWord. 2017-10-30 20:22:55 -07:00
compiler i965: remove unused variable 2017-10-30 16:32:05 +00:00
genxml intel: Make Cube Face Enable fields consistent across generations. 2017-10-03 00:06:34 -07:00
isl isl: Fix width check in isl_gen7_choose_msaa_layout. 2017-10-19 10:21:45 -07:00
tools intel/tools/disasm: correctly observe FILE *out parameter 2017-10-26 10:43:48 -07:00
vulkan anv: Fix assert about source attrs. 2017-10-27 03:01:13 -07:00
Android.blorp.mk intel: android: remove libdrm_intel requirement 2017-03-30 19:07:23 +01:00
Android.common.mk android: link libmesa_intel_common with zlib and expat 2017-08-02 10:30:50 +03:00
Android.compiler.mk android: fix build issues with brw_nir_trig_workarounds.c 2017-10-04 07:39:05 +03:00
Android.genxml.mk i965/cnl: Wire up android Mesa build files for gen10 2017-06-09 16:02:58 -07:00
Android.isl.mk i965/cnl: Wire up android Mesa build files for gen10 2017-06-09 16:02:58 -07:00
Android.mk intel/vulkan: Get rid of recursive make 2017-03-13 11:16:35 +00:00
Android.vulkan.mk anv: Install as Vulkan HAL module in Android.mk build 2017-10-18 00:23:38 -07:00
Makefile.am configure: Test for -Wno-initializer-overrides 2017-08-29 15:20:57 -07:00
Makefile.blorp.am blorp: automake: add TODO to the tarball 2017-02-24 17:37:00 +00:00
Makefile.common.am automake: intel: move expat handling where it's used 2017-10-18 14:27:20 +01:00
Makefile.compiler.am intel: use a flag instead of setting PYTHONPATH 2017-09-27 09:07:28 -07:00
Makefile.genxml.am intel: genxml: automake: include gen_bits_header.py in the tarball 2017-04-05 13:16:28 +01:00
Makefile.isl.am i965/cnl: Wire up Mesa build files for gen10 2017-06-09 16:02:58 -07:00
Makefile.sources anv: Implement VK_ANDROID_native_buffer (v9) 2017-10-18 00:23:38 -07:00
Makefile.tools.am automake: intel: move expat handling where it's used 2017-10-18 14:27:20 +01:00
Makefile.vulkan.am anv: Implement VK_ANDROID_native_buffer (v9) 2017-10-18 00:23:38 -07:00
meson.build meson: Add build Intel "anv" vulkan driver 2017-09-27 09:12:19 -07:00