Jordan Justen <jordan.l.jus...@intel.com> writes: > git://people.freedesktop.org/~jljusten/mesa cs-num-work-groups-v1 > http://patchwork.freedesktop.org/bundle/jljusten/cs-num-work-groups-v1 > > I recently sent a piglit patch for the ARB_compute_shader > indirect-compute test: "arb_compute_shader: Use gl_NumWorkGroups in > global ID tests" > > These patches allow the arb_compute_shader-indirect-compute test (with > the patch added to piglit) to pass. > > To test, I use i965 and set MESA_GL_VERSION_OVERRIDE=4.3, > MESA_GLSL_VERSION_OVERRIDE=430 and > MESA_EXTENSION_OVERRIDE=GL_ARB_compute_shader. > > Jordan Justen (9): > mesa/cs: Add MESA_VERBOSE=api support in DispatchCompute*
Reviewed-by: Kristian Høgsberg <k...@bitplanet.net> > i965/cs: Re-emit push constants and cs_state on new batches > i965/cs: Re-emit cs_state when surfaces have changed I was confused about why these were split out from the patches further down that introduce the dependencies. Then I realized they're fixes for the current code: 2/9 reemits the push constants when we start a new batch as they're stored in the batch. For 3/9, when we bind new buffers or textures we need to reemit cs state to flush the new binding table out. I would mention that in the commit messages. Both, Reviewed-by: Kristian Høgsberg <k...@bitplanet.net> > i965/cs: Store compute invocation information in brw context Reviewed-by: Kristian Høgsberg <k...@bitplanet.net> > i965/cs: Add a binding table entry for gl_NumWorkGroups Reviewed-by: Kristian Høgsberg <k...@bitplanet.net> > i965/cs: Setup surface binding for gl_NumWorkGroups Maybe we should mention that we have to do this as an atom because it has to happen after uses_num_work_groups is set in brw_upload_cs_prog() but before brw_upload_cs_state(). Reviewed-by: Kristian Høgsberg <k...@bitplanet.net> > glsl/cs: Add gl_NumWorkGroups as a system value Reviewed-by: Kristian Høgsberg <k...@bitplanet.net> > nir: Convert SYSTEM_VALUE_NUM_WORK_GROUPS to a nir intrinsic Reviewed-by: Kristian Høgsberg <k...@bitplanet.net> > i965/cs: Generate code to load gl_NumWorkGroups Reviewed-by: Kristian Høgsberg <k...@bitplanet.net> Kristian > > src/glsl/builtin_variables.cpp | 2 +- > src/glsl/nir/nir.c | 4 ++ > src/glsl/nir/nir_intrinsics.h | 1 + > src/glsl/shader_enums.h | 1 + > src/mesa/drivers/dri/i965/brw_compute.c | 52 > +++++++++++++----------- > src/mesa/drivers/dri/i965/brw_context.h | 27 +++++++++++- > src/mesa/drivers/dri/i965/brw_fs.cpp | 20 +++++++-- > src/mesa/drivers/dri/i965/brw_fs.h | 3 +- > src/mesa/drivers/dri/i965/brw_fs_nir.cpp | 28 +++++++++++++ > src/mesa/drivers/dri/i965/brw_state.h | 1 + > src/mesa/drivers/dri/i965/brw_state_upload.c | 3 ++ > src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 43 ++++++++++++++++++++ > src/mesa/drivers/dri/i965/gen7_cs_state.c | 9 ++-- > src/mesa/main/compute.c | 7 ++++ > 14 files changed, 167 insertions(+), 34 deletions(-) _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev