From: David Sodman Date: Tue, 6 Sep 2016 21:05:59 +0000 (-0700) Subject: Extend gl_FrontFacing tests X-Git-Tag: upstream/0.1.0~9^2~34 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ab800744f81295f4ffee05cd6c3137ab69757315;p=platform%2Fupstream%2FVK-GL-CTS.git Extend gl_FrontFacing tests Update gl_FrontFacing tests to include more tests as well as to use the vktDrawUtil utility class Change-Id: If94fb552f5f9366c79ffa3fcac6f085611a23f65 (cherry picked from commit 417115b2676c3064a06385184573b6d7a0644f42) --- diff --git a/android/cts/master/vk-master.txt b/android/cts/master/vk-master.txt index 33dbf85..10ca94b 100644 --- a/android/cts/master/vk-master.txt +++ b/android/cts/master/vk-master.txt @@ -153303,7 +153303,11 @@ dEQP-VK.glsl.texture_gather.offsets.min_required_offset.2d_array.depth32f.base_l dEQP-VK.glsl.texture_gather.offsets.min_required_offset.2d_array.depth32f.base_level.sparse_level_1 dEQP-VK.glsl.texture_gather.offsets.min_required_offset.2d_array.depth32f.base_level.level_2 dEQP-VK.glsl.texture_gather.offsets.min_required_offset.2d_array.depth32f.base_level.sparse_level_2 -dEQP-VK.glsl.builtin_var.simple.frontfacing +dEQP-VK.glsl.builtin_var.frontfacing.point_list +dEQP-VK.glsl.builtin_var.frontfacing.line_list +dEQP-VK.glsl.builtin_var.frontfacing.triangle_list +dEQP-VK.glsl.builtin_var.frontfacing.triangle_strip +dEQP-VK.glsl.builtin_var.frontfacing.triangle_fan dEQP-VK.glsl.builtin_var.simple.fragcoord_xyz dEQP-VK.glsl.builtin_var.simple.fragcoord_w dEQP-VK.glsl.builtin_var.simple.pointcoord diff --git a/external/vulkancts/modules/vulkan/api/vktApiSmokeTests.cpp b/external/vulkancts/modules/vulkan/api/vktApiSmokeTests.cpp index 250095c..41bdd3e 100644 --- a/external/vulkancts/modules/vulkan/api/vktApiSmokeTests.cpp +++ b/external/vulkancts/modules/vulkan/api/vktApiSmokeTests.cpp @@ -312,7 +312,7 @@ void renderReferenceTriangle (const tcu::PixelBufferAccess& dst, const tcu::Vec4 const rr::Program program (&vertShader, &fragShader); const rr::MultisamplePixelBufferAccess colorBuffer = rr::MultisamplePixelBufferAccess::fromSinglesampleAccess(dst); const rr::RenderTarget renderTarget (colorBuffer); - const rr::RenderState renderState ((rr::ViewportState(colorBuffer))); + const rr::RenderState renderState ((rr::ViewportState(colorBuffer)), rr::VIEWPORTORIENTATION_UPPER_LEFT); const rr::Renderer renderer; const rr::VertexAttrib vertexAttribs[] = { diff --git a/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderBuiltinVarTests.cpp b/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderBuiltinVarTests.cpp index da59993..bc69299 100644 --- a/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderBuiltinVarTests.cpp +++ b/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderBuiltinVarTests.cpp @@ -24,11 +24,14 @@ *//*--------------------------------------------------------------------*/ #include "vktShaderRenderBuiltinVarTests.hpp" + +#include "vkDefs.hpp" #include "vktShaderRender.hpp" #include "gluShaderUtil.hpp" #include "tcuImageCompare.hpp" #include "tcuStringTemplate.hpp" #include "tcuTextureUtil.hpp" +#include "vktDrawUtil.hpp" #include "tcuTestLog.hpp" #include "deMath.h" @@ -42,83 +45,156 @@ using namespace vk; namespace vkt { +using namespace drawutil; + namespace sr { namespace { +enum +{ + FRONTFACE_RENDERWIDTH = 16, + FRONTFACE_RENDERHEIGHT = 16 +}; + +class FrontFacingVertexShader : public rr::VertexShader +{ +public: + FrontFacingVertexShader (void) + : rr::VertexShader(1, 0) + { + m_inputs[0].type = rr::GENERICVECTYPE_FLOAT; + } + + void shadeVertices (const rr::VertexAttrib* inputs, rr::VertexPacket* const* packets, const int numPackets) const + { + for (int packetNdx = 0; packetNdx < numPackets; ++packetNdx) + { + packets[packetNdx]->position = rr::readVertexAttribFloat(inputs[0], + packets[packetNdx]->instanceNdx, + packets[packetNdx]->vertexNdx); + } + } +}; + +class FrontFacingFragmentShader : public rr::FragmentShader +{ +public: + FrontFacingFragmentShader (void) + : rr::FragmentShader(0, 1) + { + m_outputs[0].type = rr::GENERICVECTYPE_FLOAT; + } + + void shadeFragments (rr::FragmentPacket* , const int numPackets, const rr::FragmentShadingContext& context) const + { + tcu::Vec4 color; + for (int packetNdx = 0; packetNdx < numPackets; ++packetNdx) + { + for (int fragNdx = 0; fragNdx < rr::NUM_FRAGMENTS_PER_PACKET; ++fragNdx) + { + if (context.visibleFace == rr::FACETYPE_FRONT) + color = tcu::Vec4(1.0f, 0.0f, 0.0f, 1.0f); + else + color = tcu::Vec4(0.0f, 1.0f, 0.0f, 1.0f); + rr::writeFragmentOutput(context, packetNdx, fragNdx, 0, color); + } + } + } +}; + class BuiltinGlFrontFacingCaseInstance : public ShaderRenderCaseInstance { public: - BuiltinGlFrontFacingCaseInstance (Context& context); + BuiltinGlFrontFacingCaseInstance (Context& context, VkPrimitiveTopology topology); TestStatus iterate (void); - virtual void setupDefaultInputs (void); +private: + const VkPrimitiveTopology m_topology; }; -BuiltinGlFrontFacingCaseInstance::BuiltinGlFrontFacingCaseInstance (Context& context) +BuiltinGlFrontFacingCaseInstance::BuiltinGlFrontFacingCaseInstance (Context& context, VkPrimitiveTopology topology) : ShaderRenderCaseInstance (context) + , m_topology (topology) { } + TestStatus BuiltinGlFrontFacingCaseInstance::iterate (void) { - const UVec2 viewportSize = getViewportSize(); - const int width = viewportSize.x(); - const int height = viewportSize.y(); - const RGBA threshold (2, 2, 2, 2); - Surface resImage (width, height); - Surface refImage (width, height); - bool compareOk = false; - const deUint16 indices[12] = - { - 0, 4, 1, - 0, 5, 4, - 1, 2, 3, - 1, 3, 4 - }; - - setup(); - render(6, 4, indices); - copy(resImage.getAccess(), getResultImage().getAccess()); - - for (int y = 0; y < refImage.getHeight(); y++) + TestLog& log = m_context.getTestContext().getLog(); + std::vector vertices; + std::vector shaders; + FrontFacingVertexShader vertexShader; + FrontFacingFragmentShader fragmentShader; + std::string testDesc; + + vertices.push_back(Vec4( -0.75f, -0.75f, 0.0f, 1.0f)); + vertices.push_back(Vec4( 0.0f, -0.75f, 0.0f, 1.0f)); + vertices.push_back(Vec4( -0.37f, 0.75f, 0.0f, 1.0f)); + vertices.push_back(Vec4( 0.37f, 0.75f, 0.0f, 1.0f)); + vertices.push_back(Vec4( 0.75f, -0.75f, 0.0f, 1.0f)); + vertices.push_back(Vec4( 0.0f, -0.75f, 0.0f, 1.0f)); + + shaders.push_back(Shader(VK_SHADER_STAGE_VERTEX_BIT, m_context.getBinaryCollection().get("vert"))); + shaders.push_back(Shader(VK_SHADER_STAGE_FRAGMENT_BIT, m_context.getBinaryCollection().get("frag"))); + + testDesc = "gl_FrontFacing " + getPrimitiveTopologyShortName(m_topology) + " "; + + DrawState drawState (m_topology, FRONTFACE_RENDERWIDTH, FRONTFACE_RENDERHEIGHT); + DrawCallData drawCallData (vertices); + VulkanProgram vulkanProgram (shaders); + + VulkanDrawContext dc(m_context, drawState, drawCallData, vulkanProgram); + dc.draw(); + + ReferenceDrawContext refDrawContext(drawState, drawCallData, vertexShader, fragmentShader); + refDrawContext.draw(); + + log << TestLog::Image( "reference", + "reference", + tcu::ConstPixelBufferAccess(tcu::TextureFormat( + refDrawContext.getColorPixels().getFormat()), + refDrawContext.getColorPixels().getWidth(), + refDrawContext.getColorPixels().getHeight(), + 1, + refDrawContext.getColorPixels().getDataPtr())); + + log << TestLog::Image( "result", + "result", + tcu::ConstPixelBufferAccess(tcu::TextureFormat( + dc.getColorPixels().getFormat()), + dc.getColorPixels().getWidth(), + dc.getColorPixels().getHeight(), + 1, + dc.getColorPixels().getDataPtr())); + + if (tcu::intThresholdPositionDeviationCompare(m_context.getTestContext().getLog(), + "ComparisonResult", + "Image comparison result", + refDrawContext.getColorPixels(), + dc.getColorPixels(), + UVec4(0u), + IVec3(1,1,0), + false, + tcu::COMPARE_LOG_RESULT)) { - for (int x = 0; x < refImage.getWidth()/2; x++) - refImage.setPixel(x, y, RGBA::green()); - - for (int x = refImage.getWidth()/2; x < refImage.getWidth(); x++) - refImage.setPixel(x, y, RGBA::blue()); + testDesc += "passed"; + return tcu::TestStatus::pass(testDesc.c_str()); } - - compareOk = pixelThresholdCompare(m_context.getTestContext().getLog(), "Result", "Image comparison result", refImage, resImage, threshold, COMPARE_LOG_RESULT); - - if (compareOk) - return TestStatus::pass("Result image matches reference"); else - return TestStatus::fail("Image mismatch"); -} - -void BuiltinGlFrontFacingCaseInstance::setupDefaultInputs (void) -{ - const float vertices[] = { - -1.0f, -1.0f, 0.0f, 1.0f, - 0.0f, -1.0f, 0.0f, 1.0f, - 1.0f, -1.0f, 0.0f, 1.0f, - 1.0f, 1.0f, 0.0f, 1.0f, - 0.0f, 1.0f, 0.0f, 1.0f, - -1.0f, 1.0f, 0.0f, 1.0f - }; - - addAttribute(0u, VK_FORMAT_R32G32B32A32_SFLOAT, deUint32(sizeof(float) * 4), 6, vertices); + testDesc += "failed"; + return tcu::TestStatus::fail(testDesc.c_str()); + } } class BuiltinGlFrontFacingCase : public TestCase { public: - BuiltinGlFrontFacingCase (TestContext& testCtx, const string& name, const string& description); + BuiltinGlFrontFacingCase (TestContext& testCtx, VkPrimitiveTopology topology, const char* name, const char* description); virtual ~BuiltinGlFrontFacingCase (void); void initPrograms (SourceCollections& dst) const; @@ -127,10 +203,13 @@ public: private: BuiltinGlFrontFacingCase (const BuiltinGlFrontFacingCase&); // not allowed! BuiltinGlFrontFacingCase& operator= (const BuiltinGlFrontFacingCase&); // not allowed! + + const VkPrimitiveTopology m_topology; }; -BuiltinGlFrontFacingCase::BuiltinGlFrontFacingCase (TestContext& testCtx, const string& name, const string& description) - : TestCase(testCtx, name, description) +BuiltinGlFrontFacingCase::BuiltinGlFrontFacingCase (TestContext& testCtx, VkPrimitiveTopology topology, const char* name, const char* description) + : TestCase (testCtx, name, description) + , m_topology (topology) { } @@ -138,31 +217,40 @@ BuiltinGlFrontFacingCase::~BuiltinGlFrontFacingCase (void) { } -void BuiltinGlFrontFacingCase::initPrograms (SourceCollections& dst) const +void BuiltinGlFrontFacingCase::initPrograms (SourceCollections& programCollection) const { - dst.glslSources.add("vert") << glu::VertexSource( - "#version 310 es\n" - "layout(location = 0) in highp vec4 a_position;\n" - "void main (void)\n" - "{\n" - " gl_Position = a_position;\n" - "}\n"); + { + std::ostringstream vertexSource; + vertexSource << glu::getGLSLVersionDeclaration(glu::GLSL_VERSION_310_ES) << "\n" + << "\n" + << "layout(location = 0) in highp vec4 position;\n" + << "void main()\n" + << "{\n" + << "gl_Position = position;\n" + << "gl_PointSize = 1.0;\n" + << "}\n"; + programCollection.glslSources.add("vert") << glu::VertexSource(vertexSource.str()); + } - dst.glslSources.add("frag") << glu::FragmentSource( - "#version 310 es\n" - "layout(location = 0) out lowp vec4 o_color;\n" - "void main (void)\n" - "{\n" - " if (gl_FrontFacing)\n" - " o_color = vec4(0.0, 1.0, 0.0, 1.0);\n" - " else\n" - " o_color = vec4(0.0, 0.0, 1.0, 1.0);\n" - "}\n"); + { + std::ostringstream fragmentSource; + fragmentSource << glu::getGLSLVersionDeclaration(glu::GLSL_VERSION_310_ES) << "\n" + << "\n" + << "layout(location = 0) out mediump vec4 color;\n" + << "void main()\n" + << "{\n" + << "if (gl_FrontFacing)\n" + << " color = vec4(1.0, 0.0, 0.0, 1.0);\n" + << "else\n" + << " color = vec4(0.0, 1.0, 0.0, 1.0);\n" + << "}\n"; + programCollection.glslSources.add("frag") << glu::FragmentSource(fragmentSource.str()); + } } TestInstance* BuiltinGlFrontFacingCase::createInstance (Context& context) const { - return new BuiltinGlFrontFacingCaseInstance(context); + return new BuiltinGlFrontFacingCaseInstance(context, m_topology); } class BuiltinGlFragCoordXYZCaseInstance : public ShaderRenderCaseInstance @@ -811,12 +899,33 @@ TestCaseGroup* createBuiltinVarTests (TestContext& testCtx) de::MovePtr builtinGroup (new TestCaseGroup(testCtx, "builtin_var", "Shader builtin variable tests.")); de::MovePtr simpleGroup (new TestCaseGroup(testCtx, "simple", "Simple cases.")); de::MovePtr inputVariationsGroup (new TestCaseGroup(testCtx, "input_variations", "Input type variation tests.")); + de::MovePtr frontFacingGroup (new TestCaseGroup(testCtx, "frontfacing", "Test gl_Frontfacing keyword.")); - simpleGroup->addChild(new BuiltinGlFrontFacingCase(testCtx, "frontfacing", "FrontFacing test")); simpleGroup->addChild(new BuiltinGlFragCoordXYZCase(testCtx, "fragcoord_xyz", "FragCoord xyz test")); simpleGroup->addChild(new BuiltinGlFragCoordWCase(testCtx, "fragcoord_w", "FragCoord w test")); simpleGroup->addChild(new BuiltinGlPointCoordCase(testCtx, "pointcoord", "PointCoord test")); + // gl_FrontFacing tests + { + static const struct PrimitiveTable + { + const char* name; + const char* desc; + VkPrimitiveTopology primitive; + } frontfacingCases[] = + { + { "point_list", "Test that points are frontfacing", VK_PRIMITIVE_TOPOLOGY_POINT_LIST }, + { "line_list", "Test that lines are frontfacing", VK_PRIMITIVE_TOPOLOGY_LINE_LIST }, + { "triangle_list", "Test that triangles can be frontfacing or backfacing", VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST }, + { "triangle_strip", "Test that traiangle strips can be front or back facing", VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP }, + { "triangle_fan", "Test that triangle fans can be front or back facing", VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN }, + }; + + for (deUint32 ndx = 0; ndx < DE_LENGTH_OF_ARRAY(frontfacingCases); ndx++) + frontFacingGroup->addChild(new BuiltinGlFrontFacingCase(testCtx, frontfacingCases[ndx].primitive, frontfacingCases[ndx].name, frontfacingCases[ndx].desc)); + } + + builtinGroup->addChild(frontFacingGroup.release()); builtinGroup->addChild(simpleGroup.release()); for (deUint16 shaderType = 0; shaderType <= (SHADER_INPUT_BUILTIN_BIT | SHADER_INPUT_VARYING_BIT | SHADER_INPUT_CONSTANT_BIT); ++shaderType) diff --git a/external/vulkancts/modules/vulkan/vktDrawUtil.cpp b/external/vulkancts/modules/vulkan/vktDrawUtil.cpp index d2e2489..7eb0a21 100644 --- a/external/vulkancts/modules/vulkan/vktDrawUtil.cpp +++ b/external/vulkancts/modules/vulkan/vktDrawUtil.cpp @@ -287,7 +287,6 @@ std::string getPrimitiveTopologyShortName (const VkPrimitiveTopology topology) DrawState::DrawState(const vk::VkPrimitiveTopology topology_, deUint32 renderWidth_, deUint32 renderHeight_) : topology (topology_) , colorFormat (VK_FORMAT_R8G8B8A8_UNORM) - , depthFormat (VK_FORMAT_D32_SFLOAT) , renderSize (tcu::UVec2(renderWidth_, renderHeight_)) , depthClampEnable (false) , blendEnable (false) @@ -349,7 +348,6 @@ VulkanDrawContext::VulkanDrawContext ( Context& context, const VkDevice device = m_context.getDevice(); Allocator& allocator = m_context.getDefaultAllocator(); VkImageSubresourceRange colorSubresourceRange; - VkImageSubresourceRange depthSubresourceRange; // Command buffer { @@ -396,32 +394,6 @@ VulkanDrawContext::VulkanDrawContext ( Context& context, } } - // Depth attachment image - { - depthSubresourceRange = makeImageSubresourceRange(VK_IMAGE_ASPECT_DEPTH_BIT, 0u, 1u, 0u, 1u); - const VkImageCreateInfo imageCreateInfo = - { - VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO, // VkStructureType sType - DE_NULL, // const void* pNext - 0u, // VkImageCreateFlags flags - VK_IMAGE_TYPE_2D, // VkImageType imageType - m_drawState.depthFormat, // VkFormat depthFormat - { m_drawState.renderSize.x(), m_drawState.renderSize.y(), 1u }, // VkExtent3D externt - 1u, // deUint32 mipLevels - 1u, // deUint32 arrayLayers - VK_SAMPLE_COUNT_1_BIT, // VkSampleCountFlagBits samples - VK_IMAGE_TILING_OPTIMAL, // VkImageTiling tiling - VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, // VkImageUsageFlags usage - VK_SHARING_MODE_EXCLUSIVE, // VkSharingMode sharingMode - 0u, // deUint32 queueFamilyIndexCount - DE_NULL, // const deUint32* pQueueFamilyIndices - VK_IMAGE_LAYOUT_UNDEFINED // VkImageLayout initialLayout - }; - - m_depthImage = MovePtr(new ImageWithMemory(vk, device, allocator, imageCreateInfo, MemoryRequirement::Any)); - m_depthImageView = makeImageView(vk, device, **m_depthImage, VK_IMAGE_VIEW_TYPE_2D, m_drawState.depthFormat, depthSubresourceRange); - } - // Vertex buffer { const VkDeviceSize bufferSize = m_drawCallData.vertices.size() * sizeof(m_drawCallData.vertices[0]); @@ -499,8 +471,7 @@ VulkanDrawContext::VulkanDrawContext ( Context& context, { const VkImageView attachmentBindInfos[] = { - m_colorImageView.get(), - m_depthImageView.get() + m_colorImageView.get() }; const VkFramebufferCreateInfo framebufferInfo = { @@ -755,7 +726,7 @@ VulkanDrawContext::VulkanDrawContext ( Context& context, vk.cmdBindPipeline(*m_cmdBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *m_pipeline); vk.cmdBindVertexBuffers(*m_cmdBuffer, 0u, 1u, &(**m_vertexBuffer), &zeroOffset); - vk.cmdDraw(*m_cmdBuffer, static_cast(m_drawCallData.vertices.size()), 1u, 0u, 1u); + vk.cmdDraw(*m_cmdBuffer, static_cast(m_drawCallData.vertices.size()), 1u, 0u, 0u); vk.cmdEndRenderPass(*m_cmdBuffer); // Barrier: draw -> copy from image diff --git a/external/vulkancts/modules/vulkan/vktDrawUtil.hpp b/external/vulkancts/modules/vulkan/vktDrawUtil.hpp index 4cb00c2..d6bd65f 100644 --- a/external/vulkancts/modules/vulkan/vktDrawUtil.hpp +++ b/external/vulkancts/modules/vulkan/vktDrawUtil.hpp @@ -56,7 +56,6 @@ struct DrawState { const vk::VkPrimitiveTopology topology; const vk::VkFormat colorFormat; - const vk::VkFormat depthFormat; tcu::UVec2 renderSize; bool depthClampEnable; bool blendEnable; @@ -148,10 +147,8 @@ private: Context& m_context; VulkanProgram m_program; de::MovePtr m_colorImage; - de::MovePtr m_depthImage; de::MovePtr m_colorAttachmentBuffer; vk::refdetails::Move m_colorImageView; - vk::refdetails::Move m_depthImageView; vk::refdetails::Move m_renderPass; vk::refdetails::Move m_framebuffer; vk::refdetails::Move m_pipelineLayout; diff --git a/external/vulkancts/mustpass/1.0.1/src/master.txt b/external/vulkancts/mustpass/1.0.1/src/master.txt index dde68eb..34a0762 100644 --- a/external/vulkancts/mustpass/1.0.1/src/master.txt +++ b/external/vulkancts/mustpass/1.0.1/src/master.txt @@ -87796,7 +87796,7 @@ dEQP-VK.glsl.texture_gather.offsets.min_required_offset.2d_array.depth32f.base_l dEQP-VK.glsl.texture_gather.offsets.min_required_offset.2d_array.depth32f.base_level.sparse_level_1 dEQP-VK.glsl.texture_gather.offsets.min_required_offset.2d_array.depth32f.base_level.level_2 dEQP-VK.glsl.texture_gather.offsets.min_required_offset.2d_array.depth32f.base_level.sparse_level_2 -dEQP-VK.glsl.builtin_var.simple.frontfacing +dEQP-VK.glsl.builtin_var.frontfacing.triangle_list dEQP-VK.glsl.builtin.function.common.abs.float_mediump_vertex dEQP-VK.glsl.builtin.function.common.abs.float_mediump_fragment dEQP-VK.glsl.builtin.function.common.abs.float_mediump_geometry diff --git a/external/vulkancts/mustpass/1.0.1/vk-default.txt b/external/vulkancts/mustpass/1.0.1/vk-default.txt index dd7742b..e3bddfc 100644 --- a/external/vulkancts/mustpass/1.0.1/vk-default.txt +++ b/external/vulkancts/mustpass/1.0.1/vk-default.txt @@ -87796,7 +87796,7 @@ dEQP-VK.glsl.texture_gather.offsets.min_required_offset.2d_array.depth32f.base_l dEQP-VK.glsl.texture_gather.offsets.min_required_offset.2d_array.depth32f.base_level.sparse_level_1 dEQP-VK.glsl.texture_gather.offsets.min_required_offset.2d_array.depth32f.base_level.level_2 dEQP-VK.glsl.texture_gather.offsets.min_required_offset.2d_array.depth32f.base_level.sparse_level_2 -dEQP-VK.glsl.builtin_var.simple.frontfacing +dEQP-VK.glsl.builtin_var.frontfacing.triangle_list dEQP-VK.glsl.builtin.function.common.abs.float_mediump_vertex dEQP-VK.glsl.builtin.function.common.abs.float_mediump_fragment dEQP-VK.glsl.builtin.function.common.abs.float_mediump_geometry diff --git a/external/vulkancts/mustpass/1.0.2/vk-default.txt b/external/vulkancts/mustpass/1.0.2/vk-default.txt index 3bee7be..7fe1183 100644 --- a/external/vulkancts/mustpass/1.0.2/vk-default.txt +++ b/external/vulkancts/mustpass/1.0.2/vk-default.txt @@ -153296,7 +153296,11 @@ dEQP-VK.glsl.texture_gather.offsets.min_required_offset.2d_array.depth32f.base_l dEQP-VK.glsl.texture_gather.offsets.min_required_offset.2d_array.depth32f.base_level.sparse_level_1 dEQP-VK.glsl.texture_gather.offsets.min_required_offset.2d_array.depth32f.base_level.level_2 dEQP-VK.glsl.texture_gather.offsets.min_required_offset.2d_array.depth32f.base_level.sparse_level_2 -dEQP-VK.glsl.builtin_var.simple.frontfacing +dEQP-VK.glsl.builtin_var.frontfacing.point_list +dEQP-VK.glsl.builtin_var.frontfacing.line_list +dEQP-VK.glsl.builtin_var.frontfacing.triangle_list +dEQP-VK.glsl.builtin_var.frontfacing.triangle_strip +dEQP-VK.glsl.builtin_var.frontfacing.triangle_fan dEQP-VK.glsl.builtin_var.simple.fragcoord_xyz dEQP-VK.glsl.builtin_var.simple.fragcoord_w dEQP-VK.glsl.builtin_var.simple.pointcoord