Skip to content

Commit

Permalink
Merge pull request #165 from aliPMPAINT/old-state
Browse files Browse the repository at this point in the history
Test for ShaderResources
  • Loading branch information
axsaucedo authored Feb 28, 2021
2 parents 5db9abd + d08c56b commit 2834519
Showing 1 changed file with 57 additions and 0 deletions.
57 changes: 57 additions & 0 deletions test/TestShaderResources.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
#include "gtest/gtest.h"

#include "kompute/Kompute.hpp"

static const std::string shaderString = (R"(
#version 450
layout (local_size_x = 1) in;
// The input tensors bind index is relative to index in parameter passed
layout(set = 0, binding = 0) buffer bina { float tina[]; };
layout(set = 0, binding = 1) buffer binb { float tinb[]; };
layout(set = 0, binding = 2) buffer bout { float tout[]; };
void main() {
uint index = gl_GlobalInvocationID.x;
int i = 1;
while(i < 200) {
tout[index] += tina[index] * tinb[index];
i++;
}
}
)");

void compileShaderWithGivenResources(const std::string shaderString, const TBuiltInResource resources) {
kp::Shader::compile_source(shaderString, std::string("main"), std::vector<std::pair<std::string,std::string>>({}), resources);
}



TEST(TestShaderResources, TestNoMaxLight)
{
TBuiltInResource noMaxLightResources = kp::defaultResource;
noMaxLightResources.maxLights=0;

EXPECT_NO_THROW(compileShaderWithGivenResources(shaderString, noMaxLightResources));
}


TEST(TestShaderResources, TestSmallComputeWorkGroupSizeX)
{
TBuiltInResource smallComputeWorkGroupSizeXResources = kp::defaultResource;
smallComputeWorkGroupSizeXResources.maxComputeWorkGroupSizeX=0;

ASSERT_THROW(compileShaderWithGivenResources(shaderString, smallComputeWorkGroupSizeXResources), std::runtime_error);
}


TEST(TestShaderResources, TestNoWhileLoopLimit)
{
TBuiltInResource noWhileLoopLimitResources = kp::defaultResource;
noWhileLoopLimitResources.limits.whileLoops=0;

ASSERT_THROW(compileShaderWithGivenResources(shaderString, noWhileLoopLimitResources), std::runtime_error);
}

0 comments on commit 2834519

Please sign in to comment.