40 bool immutable_ =
false;
44 bool enabled_srgb_ =
false;
65 void bind(
bool enabled_srgb)
override;
70 bool check(
char err_out[256])
override;
73 const float clear_col[4],
75 uint clear_stencil)
override;
76 void clear_multi(
const float (*clear_cols)[4])
override;
79 const void *clear_value)
override;
94 void *r_data)
override;
104 int dst_offset_y)
override;
110 void update_attachments();
111 void update_drawbuffers();
113 MEM_CXX_CLASS_ALLOC_FUNCS(
"GLFrameBuffer");
122#define ATTACHMENT(X) \
141 return GL_COLOR_ATTACHMENT0;
Read Guarded memory(de)allocation.
SIMD_FORCE_INLINE const btScalar & w() const
Return the w value.
void clear(eGPUFrameBufferBits buffers, const float clear_col[4], float clear_depth, uint clear_stencil) override
bool check(char err_out[256]) override
void attachment_set_loadstore_op(GPUAttachmentType type, GPULoadStore ls) override
void read(eGPUFrameBufferBits planes, eGPUDataFormat format, const int area[4], int channel_len, int slot, void *r_data) override
void clear_multi(const float(*clear_cols)[4]) override
void subpass_transition_impl(const GPUAttachmentState depth_attachment_state, Span< GPUAttachmentState > color_attachment_states) override
GLFrameBuffer(const char *name)
void bind(bool enabled_srgb) override
void clear_attachment(GPUAttachmentType type, eGPUDataFormat data_format, const void *clear_value) override
void blit_to(eGPUFrameBufferBits planes, int src_slot, FrameBuffer *dst, int dst_slot, int dst_offset_x, int dst_offset_y) override
#define GPU_FB_MAX_COLOR_ATTACHMENT
ccl_device_inline float4 mask(const int4 mask, const float4 a)
static GLenum to_gl(const GPUAttachmentType type)