/* Whether to enable the AMD_shader_ballot extension */
bool use_shader_ballot;
+ /* Whether to enable NGG. */
+ bool use_ngg;
+
/* Whether to enable NGG streamout. */
bool use_ngg_streamout;
uint8_t cs_wave_size;
uint8_t ge_wave_size;
+ /* Whether to use the experimental compiler backend */
+ bool use_aco;
+
/* This is the drivers on-disk cache used as a fallback as opposed to
* the pipeline cache defined by apps.
*/
uint32_t esgs_ring_size;
uint32_t gsvs_ring_size;
bool has_tess_rings;
+ bool has_gds;
bool has_sample_positions;
struct radeon_winsys_bo *scratch_bo;
struct radeon_winsys_bo *esgs_ring_bo;
struct radeon_winsys_bo *gsvs_ring_bo;
struct radeon_winsys_bo *tess_rings_bo;
+ struct radeon_winsys_bo *gds_bo;
+ struct radeon_winsys_bo *gds_oa_bo;
struct radeon_cmdbuf *initial_preamble_cs;
struct radeon_cmdbuf *initial_full_flush_preamble_cs;
struct radeon_cmdbuf *continue_preamble_cs;
uint32_t esgs_ring_size_needed;
uint32_t gsvs_ring_size_needed;
bool tess_rings_needed;
+ bool gds_needed; /* for GFX10 streamout */
bool sample_positions_needed;
VkResult record_result;
#define RADV_HASH_SHADER_CS_WAVE32 (1 << 4)
#define RADV_HASH_SHADER_PS_WAVE32 (1 << 5)
#define RADV_HASH_SHADER_GE_WAVE32 (1 << 6)
+#define RADV_HASH_SHADER_ACO (1 << 7)
void
radv_hash_shaders(unsigned char *hash,