From: Zebediah Figura zfigura@codeweavers.com
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56445 --- dlls/wined3d/adapter_gl.c | 1 + dlls/wined3d/glsl_shader.c | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/dlls/wined3d/adapter_gl.c b/dlls/wined3d/adapter_gl.c index 2d8018f8cc9..e9bbae69222 100644 --- a/dlls/wined3d/adapter_gl.c +++ b/dlls/wined3d/adapter_gl.c @@ -5356,6 +5356,7 @@ static BOOL wined3d_adapter_gl_init(struct wined3d_adapter_gl *adapter_gl, wined3d_caps_gl_ctx_destroy(&caps_gl_ctx); return FALSE; } + gl_info->supported[ARB_BINDLESS_TEXTURE] = 0;
gl_info->filling_convention_offset = wined3d_adapter_find_fill_offset(&caps_gl_ctx);
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index 9ba9b2e1d4c..42cdb585c50 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -10760,17 +10760,19 @@ static void shader_glsl_update_graphics_program(struct shader_glsl_priv *priv, static void shader_glsl_load_bindless_samplers(struct shader_glsl_priv *priv, struct wined3d_context_gl *context_gl, const struct wined3d_state *state, enum wined3d_shader_type shader_type) { - struct wined3d_string_buffer *sampler_name = string_buffer_get(&priv->string_buffers); const struct wined3d_device_gl *device_gl = wined3d_device_gl(context_gl->c.device); const struct glsl_context_data *ctx_data = context_gl->c.shader_backend_data; const struct wined3d_shader *shader = state->shader[shader_type]; const struct wined3d_gl_info *gl_info = context_gl->gl_info; const char *prefix = shader_glsl_get_prefix(shader_type); + struct wined3d_string_buffer *sampler_name;
/* Note that we don't use bindless samplers for FFP shaders. */ if (!shader) return;
+ sampler_name = string_buffer_get(&priv->string_buffers); + for (unsigned int i = 0; i < shader->reg_maps.sampler_map.count; ++i) { const struct wined3d_shader_sampler_map_entry *entry = &shader->reg_maps.sampler_map.entries[i];