mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-20 20:20:18 +01:00
r600: implement EXT_shader_image_load_store
Evergreen and cayman have the hardware support for this extension. This is described by the manual as EXPORT_RAT_INST_INC_UINT_RTN and EXPORT_RAT_INST_DEC_UINT_RTN. This change was tested and passes the piglit tests (17/17) on cypress, palm and cayman. Signed-off-by: Patrick Lerda <patrick9876@free.fr> Reviewed-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34501>
This commit is contained in:
parent
1d4ebe79b5
commit
769510f1cc
3 changed files with 8 additions and 2 deletions
|
|
@ -440,7 +440,8 @@ static void r600_init_screen_caps(struct r600_screen *rscreen)
|
|||
caps->shader_array_components =
|
||||
caps->query_buffer_object =
|
||||
caps->image_store_formatted =
|
||||
caps->alpha_to_coverage_dither_control = family >= CHIP_CEDAR;
|
||||
caps->alpha_to_coverage_dither_control =
|
||||
caps->image_atomic_inc_wrap = family >= CHIP_CEDAR;
|
||||
caps->max_texture_gather_components = family >= CHIP_CEDAR ? 4 : 0;
|
||||
/* kernel command checker support is also required */
|
||||
caps->draw_indirect = family >= CHIP_CEDAR;
|
||||
|
|
|
|||
|
|
@ -457,6 +457,10 @@ get_rat_opcode(const nir_atomic_op opcode)
|
|||
return RatInstr::CMPXCHG_INT_RTN;
|
||||
case nir_atomic_op_xchg:
|
||||
return RatInstr::XCHG_RTN;
|
||||
case nir_atomic_op_inc_wrap:
|
||||
return RatInstr::WRAP_INC_RTN;
|
||||
case nir_atomic_op_dec_wrap:
|
||||
return RatInstr::WRAP_DEC_RTN;
|
||||
default:
|
||||
unreachable("Unsupported atomic");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -98,7 +98,8 @@ public:
|
|||
OR_RTN,
|
||||
XOR_RTN,
|
||||
MSKOR_RTN,
|
||||
UINT_RTN,
|
||||
WRAP_INC_RTN,
|
||||
WRAP_DEC_RTN,
|
||||
UNSUPPORTED
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue