39 float line_width_range_[2];
49 GLuint targets_[64] = {GL_TEXTURE_2D};
50 GLuint textures_[64] = {0};
51 GLuint samplers_[64] = {0};
54 GLuint images_[8] = {0};
55 GLenum formats_[8] = {0};
91 static void set_clip_distances(
int new_dist_len,
int old_dist_len);
92 static void set_logic_op(
bool enable);
93 static void set_facing(
bool invert);
96 static void set_shadow_bias(
bool enable);
99 void set_state(
const GPUState &
state);
100 void set_mutable_state(
const GPUStateMutable &
state);
102 void texture_bind_apply();
103 void image_bind_apply();
105 MEM_CXX_CLASS_ALLOC_FUNCS(
"GLStateManager")
118 void wait()
override;
120 MEM_CXX_CLASS_ALLOC_FUNCS(
"GLFence")
125 GLbitfield barrier = 0;
127 barrier |= GL_SHADER_IMAGE_ACCESS_BARRIER_BIT;
130 barrier |= GL_SHADER_STORAGE_BARRIER_BIT;
133 barrier |= GL_TEXTURE_FETCH_BARRIER_BIT;
136 barrier |= GL_TEXTURE_UPDATE_BARRIER_BIT;
139 barrier |= GL_COMMAND_BARRIER_BIT;
142 barrier |= GL_FRAMEBUFFER_BARRIER_BIT;
145 barrier |= GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT;
148 barrier |= GL_ELEMENT_ARRAY_BARRIER_BIT;
151 barrier |= GL_UNIFORM_BARRIER_BIT;
154 barrier |= GL_BUFFER_UPDATE_BARRIER_BIT;
@ GPU_BARRIER_SHADER_STORAGE
@ GPU_BARRIER_TEXTURE_FETCH
@ GPU_BARRIER_BUFFER_UPDATE
@ GPU_BARRIER_ELEMENT_ARRAY
@ GPU_BARRIER_SHADER_IMAGE_ACCESS
@ GPU_BARRIER_VERTEX_ATTRIB_ARRAY
@ GPU_BARRIER_TEXTURE_UPDATE
@ GPU_BARRIER_FRAMEBUFFER
Read Guarded memory(de)allocation.
void texture_bind_temp(GLTexture *tex)
GLFrameBuffer * active_fb
void image_unbind(Texture *tex) override
void image_bind(Texture *tex, int unit) override
void apply_state() override
void texture_unpack_row_length_set(uint len) override
void issue_barrier(eGPUBarrier barrier_bits) override
void texture_unbind_all() override
uint8_t bound_image_slots()
void force_state() override
uint64_t bound_texture_slots()
void texture_bind(Texture *tex, GPUSamplerState sampler, int unit) override
void image_unbind_all() override
void texture_unbind(Texture *tex) override
local_group_size(16, 16) .push_constant(Type local_group_size(16, 16) .push_constant(Type input_tx sampler(1, ImageType::FLOAT_2D, "matte_tx") .image(0
CCL_NAMESPACE_BEGIN ccl_device float invert(float color, float factor)
static GLenum to_gl(const GPUAttachmentType type)
unsigned __int64 uint64_t