| 422 | }; |
| 423 | |
| 424 | void Initialize(EngineCtx* engine) override |
| 425 | { |
| 426 | dmGraphics::ShaderDesc compute_desc = {}; |
| 427 | |
| 428 | if (dmGraphics::GetInstalledAdapterFamily() == dmGraphics::ADAPTER_FAMILY_OPENGL) |
| 429 | { |
| 430 | AddShader(&compute_desc, dmGraphics::ShaderDesc::LANGUAGE_GLSL_SM430, dmGraphics::ShaderDesc::SHADER_TYPE_COMPUTE, (uint8_t*) graphics_assets::glsl_compute_program, sizeof(graphics_assets::glsl_compute_program)); |
| 431 | } |
| 432 | else |
| 433 | { |
| 434 | AddShader(&compute_desc, dmGraphics::ShaderDesc::LANGUAGE_SPIRV, dmGraphics::ShaderDesc::SHADER_TYPE_COMPUTE, (uint8_t*) graphics_assets::spirv_compute_program, sizeof(graphics_assets::spirv_compute_program)); |
| 435 | } |
| 436 | |
| 437 | dmGraphics::ShaderDesc::ResourceTypeInfo* type_info = AddShaderType(&compute_desc, "buf"); |
| 438 | AddShaderTypeMember(&compute_desc, type_info, "color", dmGraphics::ShaderDesc::ShaderDataType::SHADER_TYPE_VEC4, 0, 1); |
| 439 | AddShaderResource(&compute_desc, "buf", 0, 0, 0, BINDING_TYPE_UNIFORM_BUFFER, dmGraphics::SHADER_STAGE_FLAG_COMPUTE); |
| 440 | |
| 441 | m_Program = dmGraphics::NewProgram(engine->m_GraphicsContext, &compute_desc, 0, 0); |
| 442 | |
| 443 | DeleteShaderDesc(&compute_desc); |
| 444 | |
| 445 | m_UniformLoc = GetUniformLocation(m_Program, "buf"); |
| 446 | } |
| 447 | |
| 448 | void Execute(EngineCtx* engine) override |
| 449 | { |
no test coverage detected