i965/cs: Allow ARB_compute_shader to be enabled via env var.
This will allow testing of compute shader functionality before it is completed. To enable ARB_compute_shader functionality in the i965 driver, set INTEL_COMPUTE_SHADER=1. Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
This commit is contained in:
@@ -296,10 +296,17 @@ brw_initialize_context_constants(struct brw_context *brw)
|
||||
ctx->Const.Program[MESA_SHADER_GEOMETRY].MaxTextureImageUnits = max_samplers;
|
||||
else
|
||||
ctx->Const.Program[MESA_SHADER_GEOMETRY].MaxTextureImageUnits = 0;
|
||||
if (getenv("INTEL_COMPUTE_SHADER")) {
|
||||
ctx->Const.Program[MESA_SHADER_COMPUTE].MaxTextureImageUnits = BRW_MAX_TEX_UNIT;
|
||||
ctx->Const.MaxUniformBufferBindings += 12;
|
||||
} else {
|
||||
ctx->Const.Program[MESA_SHADER_COMPUTE].MaxTextureImageUnits = 0;
|
||||
}
|
||||
ctx->Const.MaxCombinedTextureImageUnits =
|
||||
ctx->Const.Program[MESA_SHADER_VERTEX].MaxTextureImageUnits +
|
||||
ctx->Const.Program[MESA_SHADER_FRAGMENT].MaxTextureImageUnits +
|
||||
ctx->Const.Program[MESA_SHADER_GEOMETRY].MaxTextureImageUnits;
|
||||
ctx->Const.Program[MESA_SHADER_GEOMETRY].MaxTextureImageUnits +
|
||||
ctx->Const.Program[MESA_SHADER_COMPUTE].MaxTextureImageUnits;
|
||||
|
||||
ctx->Const.MaxTextureLevels = 14; /* 8192 */
|
||||
if (ctx->Const.MaxTextureLevels > MAX_TEXTURE_LEVELS)
|
||||
@@ -423,9 +430,11 @@ brw_initialize_context_constants(struct brw_context *brw)
|
||||
ctx->Const.Program[MESA_SHADER_FRAGMENT].MaxAtomicCounters = MAX_ATOMIC_COUNTERS;
|
||||
ctx->Const.Program[MESA_SHADER_VERTEX].MaxAtomicCounters = MAX_ATOMIC_COUNTERS;
|
||||
ctx->Const.Program[MESA_SHADER_GEOMETRY].MaxAtomicCounters = MAX_ATOMIC_COUNTERS;
|
||||
ctx->Const.Program[MESA_SHADER_COMPUTE].MaxAtomicCounters = MAX_ATOMIC_COUNTERS;
|
||||
ctx->Const.Program[MESA_SHADER_FRAGMENT].MaxAtomicBuffers = BRW_MAX_ABO;
|
||||
ctx->Const.Program[MESA_SHADER_VERTEX].MaxAtomicBuffers = BRW_MAX_ABO;
|
||||
ctx->Const.Program[MESA_SHADER_GEOMETRY].MaxAtomicBuffers = BRW_MAX_ABO;
|
||||
ctx->Const.Program[MESA_SHADER_COMPUTE].MaxAtomicBuffers = BRW_MAX_ABO;
|
||||
ctx->Const.MaxCombinedAtomicBuffers = 3 * BRW_MAX_ABO;
|
||||
}
|
||||
|
||||
|
@@ -299,6 +299,9 @@ intelInitExtensions(struct gl_context *ctx)
|
||||
*/
|
||||
if (ctx->API == API_OPENGL_CORE)
|
||||
ctx->Extensions.ARB_viewport_array = true;
|
||||
|
||||
if (getenv("INTEL_COMPUTE_SHADER"))
|
||||
ctx->Extensions.ARB_compute_shader = true;
|
||||
}
|
||||
|
||||
if (brw->gen == 5 || can_write_oacontrol(brw))
|
||||
|
Reference in New Issue
Block a user