Mesa (master): i965/nir: Use NIR for ARB_vertex_program support on Gen8+.
Kenneth Graunke
kwg at kemper.freedesktop.org
Sat Mar 28 04:21:18 UTC 2015
Module: Mesa
Branch: master
Commit: 31dc63d5ca090fed3f1adcd4fd0db2f1f7aa19f7
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=31dc63d5ca090fed3f1adcd4fd0db2f1f7aa19f7
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Wed Mar 25 15:16:30 2015 -0700
i965/nir: Use NIR for ARB_vertex_program support on Gen8+.
Everything is already in place; we simply have to take the scalar code
generation path. This gives us SIMD8 VS programs, instead of SIMD4x2.
v2: Rebase on the patch that drops brw->gen >= 8.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>
---
src/mesa/drivers/dri/i965/brw_vec4.cpp | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_vec4.cpp b/src/mesa/drivers/dri/i965/brw_vec4.cpp
index 9d2e375..480e50c 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4.cpp
@@ -1823,7 +1823,7 @@ brw_vs_emit(struct brw_context *brw,
if (unlikely(INTEL_DEBUG & DEBUG_VS))
brw_dump_ir("vertex", prog, &shader->base, &c->vp->program.Base);
- if (prog && brw->scalar_vs) {
+ if (brw->scalar_vs && (prog || brw_env_var_as_boolean("INTEL_USE_NIR", false))) {
fs_visitor v(brw, mem_ctx, &c->key, prog_data, prog, &c->vp->program, 8);
if (!v.run_vs()) {
if (prog) {
@@ -1841,9 +1841,15 @@ brw_vs_emit(struct brw_context *brw,
&c->vp->program.Base, v.promoted_constants,
v.runtime_check_aads_emit, "VS");
if (INTEL_DEBUG & DEBUG_VS) {
- char *name = ralloc_asprintf(mem_ctx, "%s vertex shader %d",
- prog->Label ? prog->Label : "unnamed",
- prog->Name);
+ char *name;
+ if (prog) {
+ name = ralloc_asprintf(mem_ctx, "%s vertex shader %d",
+ prog->Label ? prog->Label : "unnamed",
+ prog->Name);
+ } else {
+ name = ralloc_asprintf(mem_ctx, "vertex program %d",
+ c->vp->program.Base.Id);
+ }
g.enable_debug(name);
}
g.generate_code(v.cfg, 8);
More information about the mesa-commit
mailing list