{
bind_buffer(ctx, &ctx->ShaderStorageBufferBindings[index],
bufObj, offset, size, autoSize,
- ctx->DriverFlags.NewShaderStorageBuffer,
+ ST_NEW_STORAGE_BUFFER,
USAGE_SHADER_STORAGE_BUFFER);
}
/* Assume that at least one binding will be changed */
FLUSH_VERTICES(ctx, 0, 0);
- ctx->NewDriverState |= ctx->DriverFlags.NewShaderStorageBuffer;
+ ctx->NewDriverState |= ST_NEW_STORAGE_BUFFER;
if (!buffers) {
/* The ARB_multi_bind spec says:
struct gl_driver_flags
{
/**
- * gl_context::ShaderStorageBufferBindings
- * gl_shader_program::ShaderStorageBlocks
- */
- uint64_t NewShaderStorageBuffer;
-
- uint64_t NewTextureBuffer;
-
- /**
* gl_context::AtomicBufferBindings
*/
uint64_t NewAtomicBuffer;
/**
- * gl_context::ImageUnits
- */
- uint64_t NewImageUnits;
-
- /**
* gl_context::Scissor::WindowRects
*/
uint64_t NewWindowRectangles;
#include "enums.h"
#include "api_exec_decl.h"
+#include "state_tracker/st_context.h"
+
mesa_format
_mesa_get_shader_image_format(GLenum format)
{
u = &ctx->ImageUnits[unit];
FLUSH_VERTICES(ctx, 0, 0);
- ctx->NewDriverState |= ctx->DriverFlags.NewImageUnits;
+ ctx->NewDriverState |= ST_NEW_IMAGE_UNITS;
set_image_binding(u, texObj, level, layered, layer, access, format);
}
/* Assume that at least one binding will be changed */
FLUSH_VERTICES(ctx, 0, 0);
- ctx->NewDriverState |= ctx->DriverFlags.NewImageUnits;
+ ctx->NewDriverState |= ST_NEW_IMAGE_UNITS;
/* Note that the error semantics for multi-bind commands differ from
* those of other GL commands.
#include "api_exec_decl.h"
#include "state_tracker/st_cb_texture.h"
+#include "state_tracker/st_context.h"
#include "state_tracker/st_format.h"
#include "state_tracker/st_gen_mipmap.h"
#include "state_tracker/st_cb_eglimage.h"
}
}
- ctx->NewDriverState |= ctx->DriverFlags.NewTextureBuffer;
+ ctx->NewDriverState |= ST_NEW_SAMPLER_VIEWS;
if (bufObj) {
bufObj->UsageHistory |= USAGE_TEXTURE_BUFFER;
#include "compiler/glsl/program.h"
#include "util/bitscan.h"
+#include "state_tracker/st_context.h"
/* This is one of the few glGet that can be called from the app thread safely.
* Only these conditions must be met:
}
}
- ctx->NewDriverState |= ctx->DriverFlags.NewImageUnits;
+ ctx->NewDriverState |= ST_NEW_IMAGE_UNITS;
}
}
shaderStorageBlockBinding) {
FLUSH_VERTICES(ctx, 0, 0);
- ctx->NewDriverState |= ctx->DriverFlags.NewShaderStorageBuffer;
+ ctx->NewDriverState |= ST_NEW_STORAGE_BUFFER;
shProg->data->ShaderStorageBlocks[shaderStorageBlockIndex].Binding =
shaderStorageBlockBinding;
struct gl_driver_flags *f = &st->ctx->DriverFlags;
/* Shader resources */
- f->NewTextureBuffer = ST_NEW_SAMPLER_VIEWS;
if (st->has_hw_atomics)
f->NewAtomicBuffer = ST_NEW_HW_ATOMICS | ST_NEW_CS_ATOMICS;
else
f->NewAtomicBuffer = ST_NEW_ATOMIC_BUFFER;
- f->NewShaderStorageBuffer = ST_NEW_STORAGE_BUFFER;
- f->NewImageUnits = ST_NEW_IMAGE_UNITS;
f->NewShaderConstants[MESA_SHADER_VERTEX] = ST_NEW_VS_CONSTANTS;
f->NewShaderConstants[MESA_SHADER_TESS_CTRL] = ST_NEW_TCS_CONSTANTS;