5#include "testing/testing.h"
27 GPUStorageBuf *
ssbo =
nullptr;
71 if (shader !=
nullptr) {
75 if (
ssbo !=
nullptr) {
86 data.resize(data_len);
92 EXPECT_NE(shader,
nullptr);
134GPU_TEST(specialization_constants_compute)
140GPU_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)
void GPU_compute_dispatch(GPUShader *shader, uint groups_x_len, uint groups_y_len, uint groups_z_len)
GPUFrameBuffer * GPU_framebuffer_create(const char *name)
void GPU_framebuffer_default_size(GPUFrameBuffer *framebuffer, int width, int height)
void GPU_framebuffer_bind(GPUFrameBuffer *framebuffer)
void GPU_framebuffer_free(GPUFrameBuffer *framebuffer)
void GPU_shader_constant_int(GPUShader *sh, const char *name, int value)
GPUShader * GPU_shader_create_from_info_name(const char *info_name)
void GPU_shader_constant_uint(GPUShader *sh, const char *name, unsigned int value)
int GPU_shader_get_ssbo_binding(GPUShader *shader, const char *name)
void GPU_shader_constant_bool(GPUShader *sh, const char *name, bool value)
void GPU_shader_free(GPUShader *shader)
void GPU_shader_constant_float(GPUShader *sh, const char *name, float value)
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)
struct GPUShader GPUShader
constexpr bool is_empty() const
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 init_shader(const char *info_name)
ShaderSpecializationConst(const char *info_name)
~ShaderSpecializationConst()