diff options
Diffstat (limited to 'r600_atom_api.h')
-rw-r--r-- | r600_atom_api.h | 35 |
1 files changed, 25 insertions, 10 deletions
diff --git a/r600_atom_api.h b/r600_atom_api.h index 762b710..8b5b1ff 100644 --- a/r600_atom_api.h +++ b/r600_atom_api.h @@ -40,6 +40,7 @@ struct drm_radeon_atom { #define R600_ATOM_SPI 11 #define R600_ATOM_SX 12 #define R600_ATOM_VS_SHADER 13 +#define R600_ATOM_PS_SHADER 14 struct drm_r600_cb { u32 pitch; @@ -264,6 +265,17 @@ struct drm_r600_spi { u32 spi_vs_out_id_9; }; +/* sx - shader export */ +struct drm_r600_sx { + u32 sx_alpha_ref; + u32 sx_alpha_test_control; + u32 sx_export_buffer_sizes; + u32 sx_misc; + u32 offset; + struct radeon_bo *buffer; + u32 placements[2]; +}; + /* vs_shader - vertex shader */ struct drm_r600_vs_shader { u8 input_semantic[32]; @@ -278,18 +290,20 @@ struct drm_r600_vs_shader { u32 sq_pgm_resources_vs; }; -/* sx - shader export */ -struct drm_r600_sx { - u32 sx_alpha_ref; - u32 sx_alpha_test_control; - u32 sx_export_buffer_sizes; - u32 sx_misc; - u32 offset; - struct radeon_bo *buffer; - u32 placements[2]; +/* ps_shader - pixel shader */ +struct drm_r600_ps_shader { + u8 input_semantic[32]; + u8 input_gpr[32]; + u8 ninputs; + u8 output_semantic[32]; + u8 output_gpr[32]; + u8 noutputs; + u32 *opcodes; + u32 ndwords; + u32 sq_pgm_resources_ps; + u32 sq_pgm_exports_ps; }; - struct drm_r600_batch { struct radeon_atom *vs_constants; struct radeon_atom *ps_constants; @@ -305,6 +319,7 @@ struct drm_r600_batch { struct radeon_atom *spi; struct radeon_atom *sx; struct radeon_atom *vs_shader; + struct radeon_atom *ps_shader; }; |