mirror of
https://github.com/korenkonder/ReDIVA.git
synced 2026-10-10 16:18:35 +03:00
glTextureSubImage2D should be called via gl_rend_state
This commit is contained in:
@@ -270,6 +270,8 @@ struct gl_rend_state {
|
||||
void set_viewport(GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
void tex_sub_image_2d(GLenum target, GLint level, GLint xoffset, GLint yoffset,
|
||||
GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels);
|
||||
void texture_sub_image_2d(GLuint texture, GLint level, GLint xoffset, GLint yoffset,
|
||||
GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels);
|
||||
void unmap_array_buffer(GLuint buffer);
|
||||
void unmap_element_array_buffer(GLuint buffer);
|
||||
void unmap_uniform_buffer(GLuint buffer);
|
||||
@@ -657,13 +659,18 @@ void p_gl_rend_state::set_viewport(const gl_rend_state_rect& rect) {
|
||||
ptr.set_viewport(rect);
|
||||
}
|
||||
|
||||
void p_gl_rend_state::set_viewport(GLint x, GLint y, GLsizei width, GLsizei height) {
|
||||
ptr.set_viewport(x, y, width, height);
|
||||
}
|
||||
|
||||
void p_gl_rend_state::tex_sub_image_2d(GLenum target, GLint level, GLint xoffset, GLint yoffset,
|
||||
GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels) {
|
||||
ptr.tex_sub_image_2d(target, level, xoffset, yoffset, width, height, format, type, pixels);
|
||||
}
|
||||
|
||||
void p_gl_rend_state::set_viewport(GLint x, GLint y, GLsizei width, GLsizei height) {
|
||||
ptr.set_viewport(x, y, width, height);
|
||||
void p_gl_rend_state::texture_sub_image_2d(GLuint texture, GLint level, GLint xoffset, GLint yoffset,
|
||||
GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels) {
|
||||
ptr.texture_sub_image_2d(texture, level, xoffset, yoffset, width, height, format, type, pixels);
|
||||
}
|
||||
|
||||
void p_gl_rend_state::use_program(GLuint program) {
|
||||
@@ -1632,6 +1639,12 @@ inline void gl_rend_state::tex_sub_image_2d(GLenum target, GLint level, GLint xo
|
||||
enum_or(flags, GL_REND_STATE_EXECUTE);
|
||||
}
|
||||
|
||||
inline void gl_rend_state::texture_sub_image_2d(GLuint texture, GLint level, GLint xoffset, GLint yoffset,
|
||||
GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels) {
|
||||
glTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, type, pixels);
|
||||
enum_or(flags, GL_REND_STATE_EXECUTE);
|
||||
}
|
||||
|
||||
void gl_rend_state::update() {
|
||||
if (!update_flags)
|
||||
return;
|
||||
|
||||
@@ -118,9 +118,11 @@ struct p_gl_rend_state {
|
||||
void set_stencil_mask(GLuint mask);
|
||||
void set_stencil_op(GLenum sfail, GLenum dpfail, GLenum dppass);
|
||||
void set_viewport(const gl_rend_state_rect& rect);
|
||||
void set_viewport(GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
void tex_sub_image_2d(GLenum target, GLint level, GLint xoffset, GLint yoffset,
|
||||
GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels);
|
||||
void set_viewport(GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
void texture_sub_image_2d(GLuint texture, GLint level, GLint xoffset, GLint yoffset,
|
||||
GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels);
|
||||
void unmap_array_buffer(GLuint buffer);
|
||||
void unmap_element_array_buffer(GLuint buffer);
|
||||
void unmap_uniform_buffer(GLuint buffer);
|
||||
|
||||
+1
-1
@@ -2327,7 +2327,7 @@ namespace rndr {
|
||||
}
|
||||
|
||||
if (GLAD_GL_VERSION_4_5)
|
||||
glTextureSubImage2D(tonemap_lut_texture, 0, 0, 0,
|
||||
p_gl_rend_st.texture_sub_image_2d(tonemap_lut_texture, 0, 0, 0,
|
||||
16 * TONE_MAP_SAT_GAMMA_SAMPLES, 1, GL_RG, GL_FLOAT, tex_data);
|
||||
else {
|
||||
p_gl_rend_st.bind_texture_2d(tonemap_lut_texture);
|
||||
|
||||
Reference in New Issue
Block a user