Lines Matching defs:layer
2695 TEST_DEFAULT_LAYER, // !< draw to default layer
2696 TEST_SINGLE_LAYER, // !< draw to single layer
2699 TEST_INVOCATION_PER_LAYER, // !< draw to all layers, one invocation per layer
2702 TEST_LAYER_PROVOKING_VERTEX, // !< draw primitive with vertices in different layers, check which layer it was drawn to
2724 void sampleTextureLayer (tcu::Surface& dst, int layer);
2725 bool verifyLayerContent (const tcu::Surface& layer, int layerNdx);
2726 bool verifyImageSingleColoredRow (const tcu::Surface& layer, float rowWidthRatio, const tcu::Vec4& color, bool logging = true);
2727 bool verifyEmptyImage (const tcu::Surface& layer, bool logging = true);
2799 m_testCtx.getLog() << tcu::TestLog::Message << "Rendering to the default layer." << tcu::TestLog::EndMessage;
2801 m_testCtx.getLog() << tcu::TestLog::Message << "Rendering to a single layer." << tcu::TestLog::EndMessage;
2805 m_testCtx.getLog() << tcu::TestLog::Message << "Outputting different number of vertices to each layer." << tcu::TestLog::EndMessage;
2807 m_testCtx.getLog() << tcu::TestLog::Message << "Using a different invocation to output to each layer." << tcu::TestLog::EndMessage;
2809 m_testCtx.getLog() << tcu::TestLog::Message << "Outputting to each layer from multiple invocations." << tcu::TestLog::EndMessage;
2854 // which layer the implementation claims to render to
2915 // sample layer to frame buffer
2925 const tcu::ScopedLogSection section (m_testCtx.getLog(), "VerifyLayer", "Verify layer " + de::toString(layerNdx));
2926 tcu::Surface layer (m_resolveDimensions.x(), m_resolveDimensions.y());
2928 // sample layer to frame buffer
2929 sampleTextureLayer(layer, layerNdx);
2932 m_allLayersOk &= verifyEmptyImage(layer);
2940 const tcu::ScopedLogSection section (m_testCtx.getLog(), "VerifyLayer", "Verify layer " + de::toString(layerNdx));
2941 tcu::Surface layer (m_resolveDimensions.x(), m_resolveDimensions.y());
2943 // sample layer to frame buffer
2944 sampleTextureLayer(layer, layerNdx);
2947 m_allLayersOk &= verifyLayerContent(layer, layerNdx);
2957 m_testCtx.setTestResult(QP_TEST_RESULT_FAIL, "Detected invalid layer content");
3125 // TEST_DIFFERENT_LAYERS: draw 0 quad to first layer, 1 to second, etc.
3127 // TEST_MULTIPLE_LAYERS_PER_INVOCATION: draw 1 triangle to "current layer" and 1 triangle to another layer
3128 // else: draw 1 quad to some single layer
3429 void LayeredRenderCase::sampleTextureLayer (tcu::Surface& dst, int layer)
3447 m_testCtx.getLog() << tcu::TestLog::Message << "Sampling from texture layer " << layer << tcu::TestLog::EndMessage;
3468 gl.uniform1i(m_samplerLayerLoc, layer);
3482 bool LayeredRenderCase::verifyLayerContent (const tcu::Surface& layer, int layerNdx)
3492 m_testCtx.getLog() << tcu::TestLog::Message << "Verifying layer contents" << tcu::TestLog::EndMessage;
3498 return verifyImageSingleColoredRow(layer, 0.5f, white);
3500 return verifyEmptyImage(layer);
3504 return verifyImageSingleColoredRow(layer, 0.5f, white);
3506 return verifyEmptyImage(layer);
3510 return verifyImageSingleColoredRow(layer, 0.5f, colors[layerNdx]);
3515 return verifyEmptyImage(layer);
3517 return verifyImageSingleColoredRow(layer, (float)layerNdx / (float)m_numLayers, white);
3525 return verifyImageSingleColoredRow(layer, 0.5f, layerColor);
3532 return verifyImageSingleColoredRow(layer, 0.5f, white);
3534 return verifyEmptyImage(layer);
3539 return verifyImageSingleColoredRow(layer, 0.5f, white);
3541 return verifyEmptyImage(layer);
3555 bool LayeredRenderCase::verifyImageSingleColoredRow (const tcu::Surface& layer, float rowWidthRatio, const tcu::Vec4& barColor, bool logging)
3559 const int barLength = (int)(rowWidthRatio * (float)layer.getWidth());
3561 tcu::Surface errorMask (layer.getWidth(), layer.getHeight());
3569 for (int y = 0; y < layer.getHeight(); ++y)
3570 for (int x = 0; x < layer.getWidth(); ++x)
3572 const tcu::RGBA color = layer.getPixel(x, y);
3598 << tcu::TestLog::Image("Layer", "Layer", layer)
3607 << tcu::TestLog::Image("Layer", "Layer", layer)
3615 m_testCtx.getLog() << tcu::TestLog::Image("LayerContent", "Layer content", layer);
3620 bool LayeredRenderCase::verifyEmptyImage (const tcu::Surface& layer, bool logging)
3626 for (int y = 0; y < layer.getHeight(); ++y)
3627 for (int x = 0; x < layer.getWidth(); ++x)
3629 const tcu::RGBA color = layer.getPixel(x, y);
3640 << tcu::TestLog::Image("Layer", "Layer", layer)
3659 m_testCtx.getLog() << tcu::TestLog::Message << "Expecting non-empty layers, or non-empty layer." << tcu::TestLog::EndMessage;
5053 m_testCtx.setTestResult(QP_TEST_RESULT_FAIL, "invalid layer count");
5072 m_testCtx.setTestResult(QP_TEST_RESULT_FAIL, "invalid layer count");
5115 { "3DLayer", "3D texture layer ", false, TEXTURE_3D_LAYER },
5116 { "2DArrayLayer", "2D array layer ", false, TEXTURE_2D_ARRAY_LAYER },
5198 m_testCtx.setTestResult(QP_TEST_RESULT_FAIL, "invalid layer count");
5254 m_testCtx.setTestResult(QP_TEST_RESULT_FAIL, "invalid layer count");
5288 m_testCtx.setTestResult(QP_TEST_RESULT_FAIL, "invalid layer count");
6340 { LayeredRenderCase::TEST_SINGLE_LAYER, "render_to_one_", "Render to one layer of " },
6391 // invocation per layer
6395 const std::string desc = std::string("Render to multiple layers with multiple invocations, one invocation per layer, target ") + layerTargets[targetNdx].desc;