5#include "testing/testing.h"
27 GPUStorageBuf *
ssbo =
nullptr;
73 if (
ssbo !=
nullptr) {
84 data.resize(data_len);
90 EXPECT_NE(
shader,
nullptr);
132GPU_TEST(specialization_constants_compute)
138GPU_TEST(specialization_constants_graphic)
EXPECT_EQ(BLI_expr_pylike_eval(expr, nullptr, 0, &result), EXPR_PYLIKE_INVALID)
blender::gpu::Batch * GPU_batch_create_ex(GPUPrimType primitive_type, blender::gpu::VertBuf *vertex_buf, blender::gpu::IndexBuf *index_buf, eGPUBatchFlag owns_flag)
void GPU_batch_discard(blender::gpu::Batch *batch)
void GPU_batch_draw_advanced(blender::gpu::Batch *batch, int vertex_first, int vertex_count, int instance_first, int instance_count)
void GPU_batch_set_shader(blender::gpu::Batch *batch, GPUShader *shader, const blender::gpu::shader::SpecializationConstants *constants_state=nullptr)
void GPU_compute_dispatch(GPUShader *shader, uint groups_x_len, uint groups_y_len, uint groups_z_len, const blender::gpu::shader::SpecializationConstants *constants_state=nullptr)
GPUFrameBuffer * GPU_framebuffer_create(const char *name)
void GPU_framebuffer_free(GPUFrameBuffer *fb)
void GPU_framebuffer_bind(GPUFrameBuffer *fb)
void GPU_framebuffer_default_size(GPUFrameBuffer *fb, int width, int height)
GPUShader * GPU_shader_create_from_info_name(const char *info_name)
int GPU_shader_get_ssbo_binding(GPUShader *shader, const char *name)
int GPU_shader_get_constant(GPUShader *shader, const char *name)
void GPU_shader_free(GPUShader *shader)
const blender::gpu::shader::SpecializationConstants & GPU_shader_get_default_constant_state(GPUShader *sh)
void GPU_memory_barrier(eGPUBarrier barrier)
@ GPU_BARRIER_BUFFER_UPDATE
void GPU_storagebuf_bind(GPUStorageBuf *ssbo, int slot)
GPUStorageBuf * GPU_storagebuf_create_ex(size_t size, const void *data, GPUUsageType usage, const char *name)
void GPU_storagebuf_free(GPUStorageBuf *ssbo)
void GPU_storagebuf_read(GPUStorageBuf *ssbo, void *data)
#define GPU_vertbuf_create_with_format(format)
void GPU_vertbuf_data_alloc(blender::gpu::VertBuf &verts, uint v_len)
constexpr bool is_empty() const
struct @242053044010324116347033273112253060004051364061::@051143074301336237271216303350234260141112266062 batch
const GPUShaderCreateInfo * gpu_shader_create_info_get(const char *info_name)
#define GPU_TEST(test_name)
BLI_INLINE float fb(float length, float L)
static void test_specialization_constants_graphic()
static void test_specialization_constants_compute()
Describe inputs & outputs, stage interfaces, resources and sources of a shader. If all data is correc...
StringRefNull compute_source_
void set_value(int index, uint32_t value)
void init_shader(const char *info_name)
ShaderSpecializationConst(const char *info_name)
~ShaderSpecializationConst()
void validate(shader::SpecializationConstants &constants)