40 #define GPU_TEXTURE_FREE_SAFE(texture) \
42 if (texture != NULL) { \
43 GPU_texture_free(texture); \
158 GPU_COMPRESSED_RG_RGTC2,
159 GPU_COMPRESSED_SIGNED_RG_RGTC2,
160 GPU_COMPRESSED_RED_RGTC1,
161 GPU_COMPRESSED_SIGNED_RED_RGTC1,
340 #ifndef GPU_NO_USE_PY_REFERENCES
#define ENUM_OPERATORS(_type, _max)
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei height
_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 const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei width
void GPU_texture_unbind_all(void)
GPUTexture * GPU_texture_create_2d_array(const char *name, int w, int h, int d, int mip_len, eGPUTextureFormat format, const float *data)
bool GPU_texture_cube(const GPUTexture *tex)
GPUTexture * GPU_texture_create_1d_array(const char *name, int w, int h, int mip_len, eGPUTextureFormat format, const float *data)
@ GPU_SAMPLER_CLAMP_BORDER
void GPU_texture_py_reference_set(GPUTexture *tex, void **py_ref)
void GPU_texture_swizzle_set(GPUTexture *tex, const char swizzle[4])
void GPU_texture_image_bind(GPUTexture *tex, int unit)
void GPU_texture_bind_ex(GPUTexture *tex, eGPUSamplerState state, int unit, bool set_number)
void GPU_texture_copy(GPUTexture *dst, GPUTexture *src)
void GPU_texture_update_sub(GPUTexture *tex, eGPUDataFormat data_format, const void *pixels, int offset_x, int offset_y, int offset_z, int width, int height, int depth)
void GPU_texture_wrap_mode(GPUTexture *tex, bool use_repeat, bool use_clamp)
void ** GPU_texture_py_reference_get(GPUTexture *tex)
size_t GPU_texture_dataformat_size(eGPUDataFormat data_format)
void GPU_texture_update_mipmap(GPUTexture *tex, int miplvl, eGPUDataFormat gpu_data_format, const void *pixels)
int GPU_texture_height(const GPUTexture *tex)
GPUTexture * GPU_texture_create_1d(const char *name, int w, int mip_len, eGPUTextureFormat format, const float *data)
void GPU_texture_clear(GPUTexture *tex, eGPUDataFormat data_format, const void *data)
struct GPUTexture GPUTexture
GPUTexture * GPU_texture_create_from_vertbuf(const char *name, struct GPUVertBuf *vert)
void GPU_texture_mipmap_mode(GPUTexture *tex, bool use_mipmap, bool use_filter)
int GPU_texture_width(const GPUTexture *tex)
void GPU_texture_image_unbind_all(void)
void GPU_texture_image_unbind(GPUTexture *tex)
void * GPU_texture_read(GPUTexture *tex, eGPUDataFormat data_format, int miplvl)
@ GPU_DATA_2_10_10_10_REV
int GPU_texture_mip_count(const GPUTexture *tex)
int GPU_texture_opengl_bindcode(const GPUTexture *tex)
bool GPU_texture_integer(const GPUTexture *tex)
bool GPU_texture_array(const GPUTexture *tex)
void GPU_texture_get_mipmap_size(GPUTexture *tex, int lvl, int *size)
void GPU_texture_update(GPUTexture *tex, eGPUDataFormat data_format, const void *data)
GPUTexture * GPU_texture_create_view(const char *name, const GPUTexture *src, eGPUTextureFormat format, int mip_start, int mip_len, int layer_start, int layer_len, bool cube_as_array)
void GPU_texture_ref(GPUTexture *tex)
void GPU_texture_free(GPUTexture *tex)
unsigned int GPU_texture_memory_usage_get(void)
void GPU_texture_filter_mode(GPUTexture *tex, bool use_filter)
@ GPU_TEXTURE_USAGE_SHADER_READ
@ GPU_TEXTURE_USAGE_SHADER_WRITE
@ GPU_TEXTURE_USAGE_ATTACHMENT
@ GPU_TEXTURE_USAGE_GENERAL
void GPU_texture_unbind(GPUTexture *tex)
int GPU_texture_layer_count(const GPUTexture *tex)
static const int GPU_SAMPLER_MAX
void GPU_texture_stencil_texture_mode_set(GPUTexture *tex, bool use_stencil)
GPUTexture * GPU_texture_create_2d(const char *name, int w, int h, int mip_len, eGPUTextureFormat format, const float *data)
void GPU_texture_compare_mode(GPUTexture *tex, bool use_compare)
GPUTexture * GPU_texture_create_compressed_2d(const char *name, int w, int h, int miplen, eGPUTextureFormat format, const void *data)
bool GPU_texture_stencil(const GPUTexture *tex)
int GPU_texture_orig_width(const GPUTexture *tex)
void GPU_texture_orig_size_set(GPUTexture *tex, int w, int h)
GPUTexture * GPU_texture_create_3d(const char *name, int w, int h, int d, int mip_len, eGPUTextureFormat texture_format, eGPUDataFormat data_format, const void *data)
eGPUTextureFormat GPU_texture_format(const GPUTexture *tex)
bool GPU_texture_depth(const GPUTexture *tex)
void GPU_unpack_row_length_set(uint len)
void GPU_samplers_update(void)
int GPU_texture_dimensions(const GPUTexture *tex)
void GPU_texture_anisotropic_filter(GPUTexture *tex, bool use_aniso)
int GPU_texture_orig_height(const GPUTexture *tex)
GPUTexture * GPU_texture_create_cube(const char *name, int w, int mip_len, eGPUTextureFormat format, const float *data)
void GPU_texture_bind(GPUTexture *tex, int unit)
size_t GPU_texture_component_len(eGPUTextureFormat format)
GPUTexture * GPU_texture_create_cube_array(const char *name, int w, int d, int mip_len, eGPUTextureFormat format, const float *data)
GPUTexture * GPU_texture_create_error(int dimension, bool array)
void GPU_texture_generate_mipmap(GPUTexture *tex)
struct GPUVertBuf GPUVertBuf
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
SIMD_FORCE_INLINE const btScalar & w() const
Return the w value.
SyclQueue void void * src