Commit 3e0037e3 authored by Józef Kucia's avatar Józef Kucia Committed by Alexandre Julliard

wined3d: Introduce shader_select_compute() in shader_backend_ops.

parent 34af6f70
...@@ -4698,6 +4698,11 @@ static void shader_arb_select(void *shader_priv, struct wined3d_context *context ...@@ -4698,6 +4698,11 @@ static void shader_arb_select(void *shader_priv, struct wined3d_context *context
} }
} }
static void shader_arb_select_compute(void *shader_priv, struct wined3d_context *context,
const struct wined3d_state *state)
{
ERR("Compute pipeline not supported by the ARB shader backend.\n");
}
/* Context activation is done by the caller. */ /* Context activation is done by the caller. */
static void shader_arb_disable(void *shader_priv, struct wined3d_context *context) static void shader_arb_disable(void *shader_priv, struct wined3d_context *context)
...@@ -5659,6 +5664,7 @@ const struct wined3d_shader_backend_ops arb_program_shader_backend = ...@@ -5659,6 +5664,7 @@ const struct wined3d_shader_backend_ops arb_program_shader_backend =
{ {
shader_arb_handle_instruction, shader_arb_handle_instruction,
shader_arb_select, shader_arb_select,
shader_arb_select_compute,
shader_arb_disable, shader_arb_disable,
shader_arb_update_float_vertex_constants, shader_arb_update_float_vertex_constants,
shader_arb_update_float_pixel_constants, shader_arb_update_float_pixel_constants,
......
...@@ -8497,6 +8497,13 @@ static void shader_glsl_select(void *shader_priv, struct wined3d_context *contex ...@@ -8497,6 +8497,13 @@ static void shader_glsl_select(void *shader_priv, struct wined3d_context *contex
} }
} }
/* Context activation is done by the caller. */
static void shader_glsl_select_compute(void *shader_priv, struct wined3d_context *context,
const struct wined3d_state *state)
{
FIXME("Compute pipeline not supported yet.\n");
}
/* "context" is not necessarily the currently active context. */ /* "context" is not necessarily the currently active context. */
static void shader_glsl_invalidate_current_program(struct wined3d_context *context) static void shader_glsl_invalidate_current_program(struct wined3d_context *context)
{ {
...@@ -9152,6 +9159,7 @@ const struct wined3d_shader_backend_ops glsl_shader_backend = ...@@ -9152,6 +9159,7 @@ const struct wined3d_shader_backend_ops glsl_shader_backend =
{ {
shader_glsl_handle_instruction, shader_glsl_handle_instruction,
shader_glsl_select, shader_glsl_select,
shader_glsl_select_compute,
shader_glsl_disable, shader_glsl_disable,
shader_glsl_update_float_vertex_constants, shader_glsl_update_float_vertex_constants,
shader_glsl_update_float_pixel_constants, shader_glsl_update_float_pixel_constants,
......
...@@ -2665,6 +2665,8 @@ struct shader_none_priv ...@@ -2665,6 +2665,8 @@ struct shader_none_priv
}; };
static void shader_none_handle_instruction(const struct wined3d_shader_instruction *ins) {} static void shader_none_handle_instruction(const struct wined3d_shader_instruction *ins) {}
static void shader_none_select_compute(void *shader_priv, struct wined3d_context *context,
const struct wined3d_state *state) {}
static void shader_none_update_float_vertex_constants(struct wined3d_device *device, UINT start, UINT count) {} static void shader_none_update_float_vertex_constants(struct wined3d_device *device, UINT start, UINT count) {}
static void shader_none_update_float_pixel_constants(struct wined3d_device *device, UINT start, UINT count) {} static void shader_none_update_float_pixel_constants(struct wined3d_device *device, UINT start, UINT count) {}
static void shader_none_load_constants(void *shader_priv, struct wined3d_context *context, static void shader_none_load_constants(void *shader_priv, struct wined3d_context *context,
...@@ -2786,6 +2788,7 @@ const struct wined3d_shader_backend_ops none_shader_backend = ...@@ -2786,6 +2788,7 @@ const struct wined3d_shader_backend_ops none_shader_backend =
{ {
shader_none_handle_instruction, shader_none_handle_instruction,
shader_none_select, shader_none_select,
shader_none_select_compute,
shader_none_disable, shader_none_disable,
shader_none_update_float_vertex_constants, shader_none_update_float_vertex_constants,
shader_none_update_float_pixel_constants, shader_none_update_float_pixel_constants,
......
...@@ -1208,6 +1208,8 @@ struct wined3d_shader_backend_ops ...@@ -1208,6 +1208,8 @@ struct wined3d_shader_backend_ops
void (*shader_handle_instruction)(const struct wined3d_shader_instruction *); void (*shader_handle_instruction)(const struct wined3d_shader_instruction *);
void (*shader_select)(void *shader_priv, struct wined3d_context *context, void (*shader_select)(void *shader_priv, struct wined3d_context *context,
const struct wined3d_state *state); const struct wined3d_state *state);
void (*shader_select_compute)(void *shader_priv, struct wined3d_context *context,
const struct wined3d_state *state);
void (*shader_disable)(void *shader_priv, struct wined3d_context *context); void (*shader_disable)(void *shader_priv, struct wined3d_context *context);
void (*shader_update_float_vertex_constants)(struct wined3d_device *device, UINT start, UINT count); void (*shader_update_float_vertex_constants)(struct wined3d_device *device, UINT start, UINT count);
void (*shader_update_float_pixel_constants)(struct wined3d_device *device, UINT start, UINT count); void (*shader_update_float_pixel_constants)(struct wined3d_device *device, UINT start, UINT count);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment