GPU: Fix MSVC compile errors
This commit is contained in:
@@ -26,6 +26,7 @@
|
||||
#include "MEM_guardedalloc.h"
|
||||
|
||||
#include "GPU_element.h"
|
||||
#include "GPU_glew.h"
|
||||
|
||||
#include "gpu_context_private.h"
|
||||
|
||||
@@ -37,21 +38,18 @@
|
||||
|
||||
static GLenum convert_index_type_to_gl(GPUIndexBufType type)
|
||||
{
|
||||
static const GLenum table[] = {
|
||||
[GPU_INDEX_U16] = GL_UNSIGNED_SHORT,
|
||||
[GPU_INDEX_U32] = GL_UNSIGNED_INT,
|
||||
};
|
||||
return table[type];
|
||||
#if GPU_TRACK_INDEX_RANGE
|
||||
return (type == GPU_INDEX_U32) ? GL_UNSIGNED_INT : GL_UNSIGNED_SHORT;
|
||||
#else
|
||||
return GL_UNSIGNED_INT;
|
||||
#endif
|
||||
}
|
||||
|
||||
uint GPU_indexbuf_size_get(const GPUIndexBuf *elem)
|
||||
{
|
||||
#if GPU_TRACK_INDEX_RANGE
|
||||
static const uint table[] = {
|
||||
[GPU_INDEX_U16] = sizeof(GLushort),
|
||||
[GPU_INDEX_U32] = sizeof(GLuint),
|
||||
};
|
||||
return elem->index_len * table[elem->index_type];
|
||||
return elem->index_len *
|
||||
((elem->index_type == GPU_INDEX_U32) ? sizeof(GLuint) : sizeof(GLshort));
|
||||
#else
|
||||
return elem->index_len * sizeof(GLuint);
|
||||
#endif
|
||||
|
||||
@@ -78,17 +78,25 @@ struct GPUFrameBuffer {
|
||||
|
||||
static GLenum convert_attachment_type_to_gl(GPUAttachmentType type)
|
||||
{
|
||||
static const GLenum table[] = {
|
||||
[GPU_FB_DEPTH_ATTACHMENT] = GL_DEPTH_ATTACHMENT,
|
||||
[GPU_FB_DEPTH_STENCIL_ATTACHMENT] = GL_DEPTH_STENCIL_ATTACHMENT,
|
||||
[GPU_FB_COLOR_ATTACHMENT0] = GL_COLOR_ATTACHMENT0,
|
||||
[GPU_FB_COLOR_ATTACHMENT1] = GL_COLOR_ATTACHMENT1,
|
||||
[GPU_FB_COLOR_ATTACHMENT2] = GL_COLOR_ATTACHMENT2,
|
||||
[GPU_FB_COLOR_ATTACHMENT3] = GL_COLOR_ATTACHMENT3,
|
||||
[GPU_FB_COLOR_ATTACHMENT4] = GL_COLOR_ATTACHMENT4,
|
||||
[GPU_FB_COLOR_ATTACHMENT5] = GL_COLOR_ATTACHMENT5,
|
||||
};
|
||||
return table[type];
|
||||
#define ATTACHMENT(type) \
|
||||
case GPU_FB_##type: { \
|
||||
return GL_##type; \
|
||||
} \
|
||||
((void)0)
|
||||
|
||||
switch (type) {
|
||||
ATTACHMENT(DEPTH_ATTACHMENT);
|
||||
ATTACHMENT(DEPTH_STENCIL_ATTACHMENT);
|
||||
ATTACHMENT(COLOR_ATTACHMENT0);
|
||||
ATTACHMENT(COLOR_ATTACHMENT1);
|
||||
ATTACHMENT(COLOR_ATTACHMENT2);
|
||||
ATTACHMENT(COLOR_ATTACHMENT3);
|
||||
ATTACHMENT(COLOR_ATTACHMENT4);
|
||||
ATTACHMENT(COLOR_ATTACHMENT5);
|
||||
default:
|
||||
BLI_assert(0);
|
||||
return GL_COLOR_ATTACHMENT0;
|
||||
}
|
||||
}
|
||||
|
||||
static GPUAttachmentType attachment_type_from_tex(GPUTexture *tex, int slot)
|
||||
|
||||
Reference in New Issue
Block a user