39 bool is_bound_ =
false;
41 bool has_pixels_ =
false;
59 void swizzle_set(
const char swizzle_mask[4])
override;
82 bool proxy_check(
int mip);
83 void update_sub_direct_state_access(
84 int mip,
int offset[3],
int extent[3], GLenum gl_format, GLenum gl_type,
const void *
data);
87 MEM_CXX_CLASS_ALLOC_FUNCS(
"GLTexture")
160 return GL_R11F_G11F_B10F;
162 return GL_DEPTH32F_STENCIL8;
164 return GL_DEPTH24_STENCIL8;
166 return GL_SRGB8_ALPHA8;
172 return GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;
174 return GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;
176 return GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT;
178 return GL_COMPRESSED_RGBA_S3TC_DXT1_EXT;
180 return GL_COMPRESSED_RGBA_S3TC_DXT3_EXT;
182 return GL_COMPRESSED_RGBA_S3TC_DXT5_EXT;
185 return GL_DEPTH_COMPONENT32F;
187 return GL_DEPTH_COMPONENT24;
189 return GL_DEPTH_COMPONENT16;
200 return GL_TEXTURE_1D;
202 return GL_TEXTURE_1D_ARRAY;
204 return GL_TEXTURE_2D;
206 return GL_TEXTURE_2D_ARRAY;
208 return GL_TEXTURE_3D;
210 return GL_TEXTURE_CUBE_MAP;
212 return GL_TEXTURE_CUBE_MAP_ARRAY_ARB;
214 return GL_TEXTURE_BUFFER;
217 return GL_TEXTURE_1D;
225 return GL_PROXY_TEXTURE_1D;
227 return GL_PROXY_TEXTURE_1D_ARRAY;
229 return GL_PROXY_TEXTURE_2D;
231 return GL_PROXY_TEXTURE_2D_ARRAY;
233 return GL_PROXY_TEXTURE_3D;
235 return GL_PROXY_TEXTURE_CUBE_MAP;
237 return GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB;
241 return GL_TEXTURE_1D;
276 return GL_UNSIGNED_INT;
278 return GL_UNSIGNED_BYTE;
280 return GL_UNSIGNED_INT_24_8;
282 return GL_UNSIGNED_INT_2_10_10_10_REV;
284 return GL_UNSIGNED_INT_10F_11F_11F_REV;
305 return GL_RED_INTEGER;
312 return GL_RG_INTEGER;
319 return GL_RGBA_INTEGER;
342 return GL_DEPTH_STENCIL;
346 return GL_DEPTH_COMPONENT;
348 return GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;
350 return GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;
352 return GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT;
354 return GL_COMPRESSED_RGBA_S3TC_DXT1_EXT;
356 return GL_COMPRESSED_RGBA_S3TC_DXT3_EXT;
358 return GL_COMPRESSED_RGBA_S3TC_DXT5_EXT;
370 switch (channel_len) {
#define BLI_assert_msg(a, msg)
struct GPUFrameBuffer GPUFrameBuffer
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
struct GPUTexture GPUTexture
@ GPU_DATA_2_10_10_10_REV
static const int GPU_SAMPLER_MAX
struct GPUVertBuf GPUVertBuf
Read Guarded memory(de)allocation.
GLTexture(const char *name)
void copy_to(Texture *dst) override
void swizzle_set(const char swizzle_mask[4]) override
bool init_internal() override
void clear(eGPUDataFormat format, const void *data) override
static void samplers_free()
uint gl_bindcode_get() const override
void * read(int mip, eGPUDataFormat type) override
static void samplers_update()
void check_feedback_loop()
static void samplers_init()
void mip_range_set(int min, int max) override
void stencil_texture_mode_set(bool use_stencil) override
void generate_mipmap() override
void update_sub(int mip, int offset[3], int extent[3], eGPUDataFormat type, const void *data) override
SyclQueue void void * src
depth_tx normal_tx diffuse_light_tx specular_light_tx volume_light_tx environment_tx ambient_occlusion_tx aov_value_tx in_weight_img GPU_RGBA16F
depth_tx normal_tx diffuse_light_tx specular_light_tx volume_light_tx environment_tx ambient_occlusion_tx aov_value_tx GPU_R32F
ccl_gpu_kernel_postfix ccl_global float int int int int float bool int offset
GLenum to_gl_target(eGPUTextureType type)
GLenum to_gl_internal_format(eGPUTextureFormat format)
GLenum to_gl_proxy(eGPUTextureType type)
GLenum to_gl_data_format(eGPUTextureFormat format)
GLenum swizzle_to_gl(const char swizzle)
GLenum channel_len_to_gl(int channel_len)
static GLenum to_gl(const GPUAttachmentType type)