[Mesa-dev] [PATCH 00/23] i965 compiler fixes in preparation for ARB_shader_image_load_store.

Francisco Jerez currojerez at riseup.net
Mon Dec 2 11:31:05 PST 2013


This is a series of assorted clean-up and refactoring changes in
preparation for the actual series implementing shader images.  The
most important changes in this series are PATCH 06, that defines the
register representation class used by the image built-in lowering
code, and PATCH 07-08, that add support for specifying register region
strides and sub-register offsets in the FS IR.  The latter make a
somewhat more efficient form of pixel packing and unpacking possible
for unsupported formats by using register regions instead of binary
shifting and masking.

I'll send out the actual implementation of ARB_shader_image_load_store
in a few minutes.

Thanks.

[PATCH 01/23] i965/fs: Use a separate variable to keep track of the last uniform index seen.
[PATCH 02/23] i965/fs: Allocate the param_size array dynamically.
[PATCH 03/23] i965/vec4: Add constructor of src_reg from a fixed hardware reg.
[PATCH 04/23] i965: Move up duplicated fields from stage-specific prog_data to brw_stage_prog_data.
[PATCH 05/23] i965: Unify fs_generator:: and vec4_generator::mark_surface_used as a free function.
[PATCH 06/23] i965: Define common register base class shared between both back-ends.
[PATCH 07/23] i965/fs: Add support for sub-register byte offsets to the FS back-end IR.
[PATCH 08/23] i965/fs: Add support for specifying register horizontal strides.
[PATCH 09/23] i965/fs: Remove fs_reg::smear.
[PATCH 10/23] i965/fs: Remove fs_reg::sechalf.
[PATCH 11/23] i965/vec4: Fix confusion between SWIZZLE and BRW_SWIZZLE macros.
[PATCH 12/23] i965/vec4: Fix off-by-one register class overallocation.
[PATCH 13/23] i965/fs: Take into account reg_offset consistently for MRF regs.
[PATCH 14/23] i965: Add non-mutating helper functions to modify the register offset.
[PATCH 15/23] i965/vec4: Add non-mutating helper functions to modify src_reg::swizzle and ::negate.
[PATCH 16/23] i965: Make sure that backend_reg::type and brw_reg::type are consistent for fixed regs.
[PATCH 17/23] i965/vec4: Trivial improvements to the with_writemask() function.
[PATCH 18/23] i965/fs: Remove fs_reg::retype.
[PATCH 19/23] i965/fs: Use offset() in the ARB_fragment_program code.
[PATCH 20/23] i965/vec4: Use swizzle() in the ARB_vertex_program code.
[PATCH 21/23] i965: Add helper function to find out the signedness of a register type.
[PATCH 22/23] i965: Have brw_imm_vf4() take the vector components as integer values.
[PATCH 23/23] i965: Add polymorphic backend_visitor method to extract the result of a visit.


More information about the mesa-dev mailing list