Mentions légales du service

Skip to content
Snippets Groups Projects
Commit a884b9cf authored by TAVERNIER Vincent's avatar TAVERNIER Vincent
Browse files

Target libepoxy 1.1 extensions

parent a251c32b
No related branches found
No related tags found
No related merge requests found
...@@ -24,7 +24,7 @@ namespace OpenGL ...@@ -24,7 +24,7 @@ namespace OpenGL
*/ */
class shadertoy_EXPORT Buffer : public Resource< class shadertoy_EXPORT Buffer : public Resource<
Buffer, Buffer,
MultiAllocator<&glCreateBuffers, &glDeleteBuffers>, MultiAllocator<&glGenBuffers, &glDeleteBuffers>,
NullBufferError> NullBufferError>
{ {
public: public:
......
...@@ -24,7 +24,7 @@ namespace OpenGL ...@@ -24,7 +24,7 @@ namespace OpenGL
*/ */
class shadertoy_EXPORT Framebuffer : public Resource< class shadertoy_EXPORT Framebuffer : public Resource<
Framebuffer, Framebuffer,
MultiAllocator<&glCreateFramebuffers, &glDeleteFramebuffers>, MultiAllocator<&glGenFramebuffers, &glDeleteFramebuffers>,
NullFramebufferError> NullFramebufferError>
{ {
public: public:
......
...@@ -21,7 +21,7 @@ namespace OpenGL ...@@ -21,7 +21,7 @@ namespace OpenGL
*/ */
class shadertoy_EXPORT Renderbuffer : public Resource< class shadertoy_EXPORT Renderbuffer : public Resource<
Renderbuffer, Renderbuffer,
MultiAllocator<&glCreateRenderbuffers, &glDeleteRenderbuffers>, MultiAllocator<&glGenRenderbuffers, &glDeleteRenderbuffers>,
NullRenderbufferError> NullRenderbufferError>
{ {
public: public:
......
...@@ -75,24 +75,26 @@ namespace OpenGL ...@@ -75,24 +75,26 @@ namespace OpenGL
/** /**
* glTextureParameteri * glTextureParameteri
* *
* @param target Texture target
* @param pname Parameter name to set * @param pname Parameter name to set
* @param param Value of the parameter * @param param Value of the parameter
* *
* @throws OpenGLError * @throws OpenGLError
* @throws NullTextureError * @throws NullTextureError
*/ */
void Parameter(GLenum pname, GLint param); void Parameter(GLenum target, GLenum pname, GLint param);
/** /**
* glTextureParameterf * glTextureParameterf
* *
* @param target Texture target
* @param pname Parameter name to set * @param pname Parameter name to set
* @param param Value of the parameter * @param param Value of the parameter
* *
* @throws OpenGLError * @throws OpenGLError
* @throws NullTextureError * @throws NullTextureError
*/ */
void Parameter(GLenum pname, GLfloat param); void Parameter(GLenum target, GLenum pname, GLfloat param);
/** /**
* glTextureImage2DEXT * glTextureImage2DEXT
......
...@@ -16,5 +16,5 @@ void Buffer::Bind(GLenum target) ...@@ -16,5 +16,5 @@ void Buffer::Bind(GLenum target)
void Buffer::Data(GLsizei size, const void *data, GLenum usage) void Buffer::Data(GLsizei size, const void *data, GLenum usage)
{ {
glCall(glNamedBufferData, GLuint(*this), size, data, usage); glCall(glNamedBufferDataEXT, GLuint(*this), size, data, usage);
} }
...@@ -17,5 +17,5 @@ void Framebuffer::Bind(GLenum target) ...@@ -17,5 +17,5 @@ void Framebuffer::Bind(GLenum target)
void Framebuffer::Texture(GLenum attachment, shadertoy::OpenGL::Texture &texture, GLint level) void Framebuffer::Texture(GLenum attachment, shadertoy::OpenGL::Texture &texture, GLint level)
{ {
glCall(glNamedFramebufferTexture, GLuint(*this), attachment, GLuint(texture), level); glCall(glNamedFramebufferTextureEXT, GLuint(*this), attachment, GLuint(texture), level);
} }
...@@ -16,5 +16,5 @@ void Renderbuffer::Bind(GLenum target) ...@@ -16,5 +16,5 @@ void Renderbuffer::Bind(GLenum target)
void Renderbuffer::Storage(GLenum internalFormat, GLsizei width, GLsizei height) void Renderbuffer::Storage(GLenum internalFormat, GLsizei width, GLsizei height)
{ {
glCall(glNamedRenderbufferStorage, GLuint(*this), internalFormat, width, height); glCall(glNamedRenderbufferStorageEXT, GLuint(*this), internalFormat, width, height);
} }
...@@ -12,7 +12,7 @@ NullTextureError::NullTextureError() ...@@ -12,7 +12,7 @@ NullTextureError::NullTextureError()
GLuint TextureAllocator::Create(GLenum target) GLuint TextureAllocator::Create(GLenum target)
{ {
GLuint res; GLuint res;
glCall(glCreateTextures, target, 1, &res); glCall(glGenTextures, 1, &res);
return res; return res;
} }
...@@ -31,14 +31,14 @@ void Texture::Bind(GLenum target) ...@@ -31,14 +31,14 @@ void Texture::Bind(GLenum target)
glCall(glBindTexture, target, GLuint(*this)); glCall(glBindTexture, target, GLuint(*this));
} }
void Texture::Parameter(GLenum pname, GLint param) void Texture::Parameter(GLenum target, GLenum pname, GLint param)
{ {
glCall(glTextureParameteri, GLuint(*this), pname, param); glCall(glTextureParameteriEXT, GLuint(*this), target, pname, param);
} }
void Texture::Parameter(GLenum pname, GLfloat param) void Texture::Parameter(GLenum target, GLenum pname, GLfloat param)
{ {
glCall(glTextureParameterf, GLuint(*this), pname, param); glCall(glTextureParameterfEXT, GLuint(*this), target, pname, param);
} }
void Texture::Image2D(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *data) void Texture::Image2D(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *data)
......
...@@ -54,10 +54,10 @@ shared_ptr<TextureEngine> RenderContext::BuildTextureEngine() ...@@ -54,10 +54,10 @@ shared_ptr<TextureEngine> RenderContext::BuildTextureEngine()
int minFilter = max((int)inputConfig.minFilter, GL_LINEAR), int minFilter = max((int)inputConfig.minFilter, GL_LINEAR),
magFilter = (int)inputConfig.magFilter; magFilter = (int)inputConfig.magFilter;
texture->Parameter(GL_TEXTURE_MAG_FILTER, magFilter); texture->Parameter(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, magFilter);
texture->Parameter(GL_TEXTURE_MIN_FILTER, minFilter); texture->Parameter(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, minFilter);
texture->Parameter(GL_TEXTURE_WRAP_S, inputConfig.wrap); texture->Parameter(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, inputConfig.wrap);
texture->Parameter(GL_TEXTURE_WRAP_T, inputConfig.wrap); texture->Parameter(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, inputConfig.wrap);
return texture; return texture;
} }
...@@ -262,10 +262,10 @@ void RenderContext::DoReadWriteCurrentFrame(GLuint &texIn, GLuint &texOut) ...@@ -262,10 +262,10 @@ void RenderContext::DoReadWriteCurrentFrame(GLuint &texIn, GLuint &texOut)
screenQuadTexture = make_shared<OpenGL::Texture>(GL_TEXTURE_2D); screenQuadTexture = make_shared<OpenGL::Texture>(GL_TEXTURE_2D);
// Setup screenQuadTexture // Setup screenQuadTexture
screenQuadTexture->Parameter(GL_TEXTURE_MIN_FILTER, GL_NEAREST); screenQuadTexture->Parameter(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
screenQuadTexture->Parameter(GL_TEXTURE_MAG_FILTER, GL_NEAREST); screenQuadTexture->Parameter(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
screenQuadTexture->Parameter(GL_TEXTURE_WRAP_S, GL_REPEAT); screenQuadTexture->Parameter(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
screenQuadTexture->Parameter(GL_TEXTURE_WRAP_T, GL_REPEAT); screenQuadTexture->Parameter(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
screenQuadTexture->Image2D(GL_TEXTURE_2D, 0, GL_RGBA32F, screenQuadTexture->Image2D(GL_TEXTURE_2D, 0, GL_RGBA32F,
config.width, config.height, 0, GL_BGRA, GL_FLOAT, nullptr); config.width, config.height, 0, GL_BGRA, GL_FLOAT, nullptr);
} }
......
...@@ -141,8 +141,8 @@ shared_ptr<OpenGL::Texture> TextureEngine::NoiseTextureHandler(const InputConfig ...@@ -141,8 +141,8 @@ shared_ptr<OpenGL::Texture> TextureEngine::NoiseTextureHandler(const InputConfig
{ {
// A noise texture // A noise texture
auto noiseTexture = make_shared<OpenGL::Texture>(GL_TEXTURE_2D); auto noiseTexture = make_shared<OpenGL::Texture>(GL_TEXTURE_2D);
noiseTexture->Parameter(GL_TEXTURE_SWIZZLE_B, GL_RED); noiseTexture->Parameter(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_B, GL_RED);
noiseTexture->Parameter(GL_TEXTURE_SWIZZLE_G, GL_RED); noiseTexture->Parameter(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_G, GL_RED);
// Create the actual noise // Create the actual noise
vector<unsigned char> rnd(config.width * config.height); vector<unsigned char> rnd(config.width * config.height);
...@@ -172,8 +172,8 @@ shared_ptr<OpenGL::Texture> TextureEngine::CheckerTextureHandler(const InputConf ...@@ -172,8 +172,8 @@ shared_ptr<OpenGL::Texture> TextureEngine::CheckerTextureHandler(const InputConf
// A checkerboard texture // A checkerboard texture
auto checkerTexture = make_shared<OpenGL::Texture>(GL_TEXTURE_2D); auto checkerTexture = make_shared<OpenGL::Texture>(GL_TEXTURE_2D);
checkerTexture->Parameter(GL_TEXTURE_SWIZZLE_B, GL_RED); checkerTexture->Parameter(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_B, GL_RED);
checkerTexture->Parameter(GL_TEXTURE_SWIZZLE_G, GL_RED); checkerTexture->Parameter(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_G, GL_RED);
// Generate the checkerboard // Generate the checkerboard
vector<unsigned char> chk(config.width * config.height); vector<unsigned char> chk(config.width * config.height);
...@@ -218,11 +218,11 @@ void TextureEngine::Initialize() ...@@ -218,11 +218,11 @@ void TextureEngine::Initialize()
chk[j * height + i] = ((i / size) % 2 == 0) ^ ((j / size) % 2 == 0) ? 255 : 0; chk[j * height + i] = ((i / size) % 2 == 0) ^ ((j / size) % 2 == 0) ? 255 : 0;
// Load it and set parameters // Load it and set parameters
emptyTexture->Parameter(GL_TEXTURE_MIN_FILTER, GL_NEAREST); emptyTexture->Parameter(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
emptyTexture->Parameter(GL_TEXTURE_MAG_FILTER, GL_NEAREST); emptyTexture->Parameter(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
emptyTexture->Parameter(GL_TEXTURE_WRAP_S, GL_REPEAT); emptyTexture->Parameter(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
emptyTexture->Parameter(GL_TEXTURE_WRAP_T, GL_REPEAT); emptyTexture->Parameter(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
emptyTexture->Parameter(GL_TEXTURE_SWIZZLE_B, GL_RED); emptyTexture->Parameter(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_B, GL_RED);
emptyTexture->Image2D(GL_TEXTURE_2D, 0, GL_RED, width, height, 0, GL_RED, emptyTexture->Image2D(GL_TEXTURE_2D, 0, GL_RED, width, height, 0, GL_RED,
GL_UNSIGNED_BYTE, chk.data()); GL_UNSIGNED_BYTE, chk.data());
} }
...@@ -314,10 +314,10 @@ void TextureEngine::ApplyTextureOptions(const InputConfig &inputConfig, OpenGL:: ...@@ -314,10 +314,10 @@ void TextureEngine::ApplyTextureOptions(const InputConfig &inputConfig, OpenGL::
{ {
GLint minFilter = inputConfig.minFilter; GLint minFilter = inputConfig.minFilter;
texture.Parameter(GL_TEXTURE_MIN_FILTER, minFilter); texture.Parameter(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, minFilter);
texture.Parameter(GL_TEXTURE_MAG_FILTER, inputConfig.magFilter); texture.Parameter(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, inputConfig.magFilter);
texture.Parameter(GL_TEXTURE_WRAP_S, inputConfig.wrap); texture.Parameter(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, inputConfig.wrap);
texture.Parameter(GL_TEXTURE_WRAP_T, inputConfig.wrap); texture.Parameter(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, inputConfig.wrap);
if (minFilter > GL_LINEAR) if (minFilter > GL_LINEAR)
{ {
......
...@@ -162,10 +162,10 @@ void ToyBuffer::InitializeRenderTexture(shared_ptr<OpenGL::Texture> &texptr, int ...@@ -162,10 +162,10 @@ void ToyBuffer::InitializeRenderTexture(shared_ptr<OpenGL::Texture> &texptr, int
texptr = make_shared<OpenGL::Texture>(GL_TEXTURE_2D); texptr = make_shared<OpenGL::Texture>(GL_TEXTURE_2D);
// Allocate texture storage according to width/height // Allocate texture storage according to width/height
texptr->Parameter(GL_TEXTURE_MIN_FILTER, GL_NEAREST); texptr->Parameter(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
texptr->Parameter(GL_TEXTURE_MAG_FILTER, GL_NEAREST); texptr->Parameter(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
texptr->Parameter(GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); texptr->Parameter(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
texptr->Parameter(GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); texptr->Parameter(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
texptr->Image2D(GL_TEXTURE_2D, 0, GL_RGBA32F, width, height, 0, GL_BGRA, texptr->Image2D(GL_TEXTURE_2D, 0, GL_RGBA32F, width, height, 0, GL_BGRA,
GL_UNSIGNED_BYTE, nullptr); GL_UNSIGNED_BYTE, nullptr);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment