forked from blender/blender
GPU: Shader Create Info GLSL-C++ stubs #3
@ -54,7 +54,18 @@ namespace blender::gpu::shader {
|
||||
# define GPU_SHADER_CREATE_INFO(_info) namespace _info {
|
||||
# define GPU_SHADER_CREATE_END() }
|
||||
|
||||
# define USE_CREATE_INFO(_info) using namespace _info;
|
||||
# define VERTEX_SHADER_CREATE_INFO(_info) \
|
||||
using namespace gl_VertexShader; \
|
||||
using namespace _info::gl_VertexShader; \
|
||||
using namespace _info;
|
||||
# define FRAGMENT_SHADER_CREATE_INFO(_info) \
|
||||
using namespace gl_FragmentShader; \
|
||||
using namespace _info::gl_FragmentShader; \
|
||||
using namespace _info;
|
||||
# define COMPUTE_SHADER_CREATE_INFO(_info) \
|
||||
using namespace gl_ComputeShader; \
|
||||
using namespace _info::gl_ComputeShader; \
|
||||
using namespace _info;
|
||||
|
||||
#elif !defined(GPU_SHADER_CREATE_INFO)
|
||||
/* Helps intellisense / auto-completion inside info files. */
|
||||
@ -190,7 +201,10 @@ namespace blender::gpu::shader {
|
||||
/* LOCAL_GROUP_SIZE(int size_x, int size_y = -1, int size_z = -1) */
|
||||
# define LOCAL_GROUP_SIZE(...)
|
||||
|
||||
# define VERTEX_IN(slot, type, name) const type name = {};
|
||||
# define VERTEX_IN(slot, type, name) \
|
||||
namespace gl_VertexShader { \
|
||||
const type name = {}; \
|
||||
}
|
||||
# define VERTEX_OUT(stage_interface) using namespace stage_interface;
|
||||
/* TO REMOVE. */
|
||||
# define GEOMETRY_LAYOUT(...)
|
||||
@ -198,9 +212,18 @@ namespace blender::gpu::shader {
|
||||
|
||||
# define SUBPASS_IN(slot, type, name, rog) const type name = {};
|
||||
|
||||
# define FRAGMENT_OUT(slot, type, name) type name;
|
||||
# define FRAGMENT_OUT_DUAL(slot, type, name, blend) type name;
|
||||
# define FRAGMENT_OUT_ROG(slot, type, name, rog) type name;
|
||||
# define FRAGMENT_OUT(slot, type, name) \
|
||||
namespace gl_FragmentShader { \
|
||||
type name; \
|
||||
}
|
||||
# define FRAGMENT_OUT_DUAL(slot, type, name, blend) \
|
||||
namespace gl_FragmentShader { \
|
||||
type name; \
|
||||
}
|
||||
# define FRAGMENT_OUT_ROG(slot, type, name, rog) \
|
||||
namespace gl_FragmentShader { \
|
||||
type name; \
|
||||
}
|
||||
|
||||
# define EARLY_FRAGMENT_TEST(enable)
|
||||
# define DEPTH_WRITE(value)
|
||||
|
@ -10,6 +10,13 @@
|
||||
* the rounded corner, and the rectangle sides.
|
||||
*/
|
||||
|
||||
/* TODO(fclem): Replace with gpu_glsl_cpp_stubs.hh include. */
|
||||
#define GLSL_CPP_STUBS
|
||||
|
||||
#include "infos/gpu_shader_icon_info.hh"
|
||||
|
||||
FRAGMENT_SHADER_CREATE_INFO(gpu_shader_icon)
|
||||
|
||||
void main()
|
||||
{
|
||||
/* Sample texture with LOD BIAS. Used instead of custom LOD bias in GPU_SAMPLER_CUSTOM_ICON. */
|
||||
|
@ -12,7 +12,7 @@
|
||||
|
||||
#include "infos/gpu_shader_icon_info.hh"
|
||||
|
||||
USE_CREATE_INFO(gpu_shader_icon)
|
||||
VERTEX_SHADER_CREATE_INFO(gpu_shader_icon)
|
||||
|
||||
void main()
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user