device->rad_info.family != CHIP_NAVI14 &&
!(device->instance->debug_flags & RADV_DEBUG_NO_NGG);
+ /* TODO: Implement NGG GS with ACO. */
+ device->use_ngg_gs = device->use_ngg && !device->use_aco;
device->use_ngg_streamout = false;
/* Determine the number of threads per wave for all stages. */
keys[MESA_SHADER_TESS_EVAL].vs_common_out.as_ngg = false;
}
- if (device->physical_device->use_aco) {
- /* Disable NGG GS when ACO is used */
+ if (!device->physical_device->use_ngg_gs) {
if (nir[MESA_SHADER_GEOMETRY]) {
if (nir[MESA_SHADER_TESS_CTRL])
keys[MESA_SHADER_TESS_EVAL].vs_common_out.as_ngg = false;
else
keys[MESA_SHADER_VERTEX].vs_common_out.as_ngg = false;
}
-
- /* NGG streamout not yet supported by ACO */
- assert(!device->physical_device->use_ngg_streamout);
}
gl_shader_stage last_xfb_stage = MESA_SHADER_VERTEX;
/* Whether to enable NGG. */
bool use_ngg;
+ /* Whether to enable NGG GS. */
+ bool use_ngg_gs;
+
/* Whether to enable NGG streamout. */
bool use_ngg_streamout;
* TODO: fix use of NGG GS and non-NGG GS inside the same begin/end
* query.
*/
- return device->physical_device->use_ngg &&
+ return device->physical_device->use_ngg_gs &&
(pool->pipeline_stats_mask & VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT);
}