51 bool is_bound_ =
false;
53 bool is_bound_image_ =
false;
55 bool has_pixels_ =
false;
62 int mip,
int offset[3],
int extent[3],
eGPUDataFormat type,
const void *
data)
override;
66 GPUPixelBuffer *pixbuf)
override;
77 void swizzle_set(
const char swizzle_mask[4])
override;
118 bool init_internal(GPUTexture *src,
int mip_offset,
int layer_offset,
bool use_stencil)
override;
121 bool proxy_check(
int mip);
122 void stencil_texture_mode_set(
bool use_stencil);
123 void update_sub_direct_state_access(
124 int mip,
int offset[3],
int extent[3], GLenum gl_format, GLenum gl_type,
const void *
data);
127 MEM_CXX_CLASS_ALLOC_FUNCS(
"GLTexture")
138 void *
map()
override;
139 void unmap()
override;
143 MEM_CXX_CLASS_ALLOC_FUNCS(
"GLPixelBuffer")
214 return GL_RGB10_A2UI;
216 return GL_R11F_G11F_B10F;
218 return GL_DEPTH32F_STENCIL8;
220 return GL_DEPTH24_STENCIL8;
222 return GL_SRGB8_ALPHA8;
227 return GL_RGBA16_SNORM;
229 return GL_RGBA8_SNORM;
237 return GL_RGB16_SNORM;
245 return GL_RGB8_SNORM;
253 return GL_RG16_SNORM;
262 return GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;
264 return GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;
266 return GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT;
268 return GL_COMPRESSED_RGBA_S3TC_DXT1_EXT;
270 return GL_COMPRESSED_RGBA_S3TC_DXT3_EXT;
272 return GL_COMPRESSED_RGBA_S3TC_DXT5_EXT;
279 return GL_DEPTH_COMPONENT32F;
281 return GL_DEPTH_COMPONENT24;
283 return GL_DEPTH_COMPONENT16;
293 return GL_TEXTURE_1D;
295 return GL_TEXTURE_1D_ARRAY;
297 return GL_TEXTURE_2D;
299 return GL_TEXTURE_2D_ARRAY;
301 return GL_TEXTURE_3D;
303 return GL_TEXTURE_CUBE_MAP;
305 return GL_TEXTURE_CUBE_MAP_ARRAY_ARB;
307 return GL_TEXTURE_BUFFER;
310 return GL_TEXTURE_1D;
318 return GL_PROXY_TEXTURE_1D;
320 return GL_PROXY_TEXTURE_1D_ARRAY;
322 return GL_PROXY_TEXTURE_2D;
324 return GL_PROXY_TEXTURE_2D_ARRAY;
326 return GL_PROXY_TEXTURE_3D;
328 return GL_PROXY_TEXTURE_CUBE_MAP;
330 return GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB;
334 return GL_TEXTURE_1D;
369 return GL_UNSIGNED_INT;
371 return GL_UNSIGNED_BYTE;
373 return GL_UNSIGNED_INT_24_8;
375 return GL_UNSIGNED_INT_2_10_10_10_REV;
377 return GL_UNSIGNED_INT_10F_11F_11F_REV;
379 return GL_HALF_FLOAT;
401 return GL_RGBA_INTEGER;
413 return GL_RG_INTEGER;
425 return GL_RED_INTEGER;
435 return GL_DEPTH_STENCIL;
461 return GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;
463 return GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;
465 return GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT;
467 return GL_COMPRESSED_RGBA_S3TC_DXT1_EXT;
469 return GL_COMPRESSED_RGBA_S3TC_DXT3_EXT;
471 return GL_COMPRESSED_RGBA_S3TC_DXT5_EXT;
479 return GL_DEPTH_COMPONENT;
490 switch (channel_len) {
#define BLI_assert_msg(a, msg)
static const int GPU_SAMPLER_FILTERING_TYPES_COUNT
@ GPU_DATA_2_10_10_10_REV
#define GPU_SAMPLER_CUSTOM_TYPES_COUNT
#define GPU_SAMPLER_EXTEND_MODES_COUNT
Read Guarded memory(de)allocation.
BMesh const char void * data
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
GPUPixelBufferNativeHandle get_native_handle() override
GLPixelBuffer(size_t size)
size_t get_size() override
GLTexture(const char *name)
void copy_to(Texture *dst) override
void mip_range_set(int min, int max) override
friend class GLFrameBuffer
static void samplers_init()
static GLuint get_sampler(const GPUSamplerState &sampler_state)
static void samplers_update()
uint gl_bindcode_get() const override
friend class GLStateManager
static void samplers_free()
bool init_internal() override
void check_feedback_loop()
void generate_mipmap() override
void update_sub(int mip, int offset[3], int extent[3], eGPUDataFormat type, const void *data) override
void clear(eGPUDataFormat format, const void *data) override
void swizzle_set(const char swizzle_mask[4]) override
GPUSamplerState sampler_state
Texture(const char *name)
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)