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.
GLPixelBuffer(size_t size)
size_t get_size() override
int64_t get_native_handle() override
GLTexture(const char *name)
void copy_to(Texture *dst) override
void mip_range_set(int min, int max) override
static void samplers_init()
static GLuint get_sampler(const GPUSamplerState &sampler_state)
static void samplers_update()
uint gl_bindcode_get() const override
void * read(int mip, eGPUDataFormat type) override
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
additional_info("compositor_sum_float_shared") .push_constant(Type additional_info("compositor_sum_float_shared") .push_constant(Type GPU_RGBA32F
DOF_TILES_FLATTEN_GROUP_SIZE coc_tx GPU_R11F_G11F_B10F
out_radiance out_gbuf_normal out_gbuf_closure2 GPU_RG16
SHADOW_TILEMAP_RES tiles_buf[] statistics_buf render_view_buf[SHADOW_VIEW_MAX] GPU_R32UI
RAYTRACE_GROUP_SIZE additional_info("eevee_shared", "eevee_gbuffer_data", "eevee_global_ubo", "eevee_sampling_data", "eevee_utility_texture", "eevee_hiz_data", "draw_view") .specialization_constant(Type RAYTRACE_GROUP_SIZE in_sh_0_tx in_sh_2_tx screen_normal_tx GPU_RGBA8
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)