dEQP-VK.pipeline.timestamp.transfer_tests.host_stage_with_resolve_image_method
dEQP-VK.pipeline.timestamp.transfer_tests.host_stage_with_copy_query_pool_results_method
dEQP-VK.pipeline.timestamp.misc_tests.timestamp_only
-dEQP-VK.pipeline.early_fragment.no_early_fragment_tests_depth
-dEQP-VK.pipeline.early_fragment.no_early_fragment_tests_stencil
-dEQP-VK.pipeline.early_fragment.early_fragment_tests_depth
-dEQP-VK.pipeline.early_fragment.early_fragment_tests_stencil
-dEQP-VK.pipeline.early_fragment.no_early_fragment_tests_depth_no_attachment
-dEQP-VK.pipeline.early_fragment.no_early_fragment_tests_stencil_no_attachment
-dEQP-VK.pipeline.early_fragment.early_fragment_tests_depth_no_attachment
-dEQP-VK.pipeline.early_fragment.early_fragment_tests_stencil_no_attachment
dEQP-VK.pipeline.cache.graphics_tests.vertex_stage_fragment_stage
dEQP-VK.pipeline.cache.graphics_tests.vertex_stage_geometry_stage_fragment_stage
dEQP-VK.pipeline.cache.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage
dEQP-VK.fragment_operations.scissor.multi_viewport.scissor_14
dEQP-VK.fragment_operations.scissor.multi_viewport.scissor_15
dEQP-VK.fragment_operations.scissor.multi_viewport.scissor_16
+dEQP-VK.fragment_operations.early_fragment.no_early_fragment_tests_depth
+dEQP-VK.fragment_operations.early_fragment.no_early_fragment_tests_stencil
+dEQP-VK.fragment_operations.early_fragment.early_fragment_tests_depth
+dEQP-VK.fragment_operations.early_fragment.early_fragment_tests_stencil
+dEQP-VK.fragment_operations.early_fragment.no_early_fragment_tests_depth_no_attachment
+dEQP-VK.fragment_operations.early_fragment.no_early_fragment_tests_stencil_no_attachment
+dEQP-VK.fragment_operations.early_fragment.early_fragment_tests_depth_no_attachment
+dEQP-VK.fragment_operations.early_fragment.early_fragment_tests_stencil_no_attachment
dEQP-VK.pipeline.timestamp.transfer_tests.host_stage_with_resolve_image_method
dEQP-VK.pipeline.timestamp.transfer_tests.host_stage_with_copy_query_pool_results_method
dEQP-VK.pipeline.timestamp.misc_tests.timestamp_only
-dEQP-VK.pipeline.early_fragment.no_early_fragment_tests_depth
-dEQP-VK.pipeline.early_fragment.no_early_fragment_tests_stencil
-dEQP-VK.pipeline.early_fragment.early_fragment_tests_depth
-dEQP-VK.pipeline.early_fragment.early_fragment_tests_stencil
-dEQP-VK.pipeline.early_fragment.no_early_fragment_tests_depth_no_attachment
-dEQP-VK.pipeline.early_fragment.no_early_fragment_tests_stencil_no_attachment
-dEQP-VK.pipeline.early_fragment.early_fragment_tests_depth_no_attachment
-dEQP-VK.pipeline.early_fragment.early_fragment_tests_stencil_no_attachment
dEQP-VK.pipeline.cache.graphics_tests.vertex_stage_fragment_stage
dEQP-VK.pipeline.cache.graphics_tests.vertex_stage_geometry_stage_fragment_stage
dEQP-VK.pipeline.cache.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage
dEQP-VK.sparse_resources.buffer_sparse_memory_aliasing.buffer_size_2_17
dEQP-VK.sparse_resources.buffer_sparse_memory_aliasing.buffer_size_2_20
dEQP-VK.sparse_resources.buffer_sparse_memory_aliasing.buffer_size_2_24
+dEQP-VK.fragment_operations.early_fragment.no_early_fragment_tests_depth
+dEQP-VK.fragment_operations.early_fragment.no_early_fragment_tests_stencil
+dEQP-VK.fragment_operations.early_fragment.early_fragment_tests_depth
+dEQP-VK.fragment_operations.early_fragment.early_fragment_tests_stencil
+dEQP-VK.fragment_operations.early_fragment.no_early_fragment_tests_depth_no_attachment
+dEQP-VK.fragment_operations.early_fragment.no_early_fragment_tests_stencil_no_attachment
+dEQP-VK.fragment_operations.early_fragment.early_fragment_tests_depth_no_attachment
+dEQP-VK.fragment_operations.early_fragment.early_fragment_tests_stencil_no_attachment
dEQP-VK.pipeline.timestamp.transfer_tests.host_stage_with_resolve_image_method
dEQP-VK.pipeline.timestamp.transfer_tests.host_stage_with_copy_query_pool_results_method
dEQP-VK.pipeline.timestamp.misc_tests.timestamp_only
-dEQP-VK.pipeline.early_fragment.no_early_fragment_tests_depth
-dEQP-VK.pipeline.early_fragment.no_early_fragment_tests_stencil
-dEQP-VK.pipeline.early_fragment.early_fragment_tests_depth
-dEQP-VK.pipeline.early_fragment.early_fragment_tests_stencil
-dEQP-VK.pipeline.early_fragment.no_early_fragment_tests_depth_no_attachment
-dEQP-VK.pipeline.early_fragment.no_early_fragment_tests_stencil_no_attachment
-dEQP-VK.pipeline.early_fragment.early_fragment_tests_depth_no_attachment
-dEQP-VK.pipeline.early_fragment.early_fragment_tests_stencil_no_attachment
dEQP-VK.pipeline.cache.graphics_tests.vertex_stage_fragment_stage
dEQP-VK.pipeline.cache.graphics_tests.vertex_stage_geometry_stage_fragment_stage
dEQP-VK.pipeline.cache.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage
dEQP-VK.sparse_resources.buffer_sparse_memory_aliasing.buffer_size_2_17
dEQP-VK.sparse_resources.buffer_sparse_memory_aliasing.buffer_size_2_20
dEQP-VK.sparse_resources.buffer_sparse_memory_aliasing.buffer_size_2_24
+dEQP-VK.fragment_operations.early_fragment.no_early_fragment_tests_depth
+dEQP-VK.fragment_operations.early_fragment.no_early_fragment_tests_stencil
+dEQP-VK.fragment_operations.early_fragment.early_fragment_tests_depth
+dEQP-VK.fragment_operations.early_fragment.early_fragment_tests_stencil
+dEQP-VK.fragment_operations.early_fragment.no_early_fragment_tests_depth_no_attachment
+dEQP-VK.fragment_operations.early_fragment.no_early_fragment_tests_stencil_no_attachment
+dEQP-VK.fragment_operations.early_fragment.early_fragment_tests_depth_no_attachment
+dEQP-VK.fragment_operations.early_fragment.early_fragment_tests_stencil_no_attachment
include_directories(..)
set(DEQP_VK_FRAGMENT_OPS_SRCS
- vktFragmentOperationsTests.cpp
- vktFragmentOperationsTests.hpp
- vktFragmentOperationsScissorTests.cpp
- vktFragmentOperationsScissorTests.hpp
- vktFragmentOperationsScissorMultiViewportTests.cpp
- vktFragmentOperationsScissorMultiViewportTests.hpp
+ vktFragmentOperationsEarlyFragmentTests.cpp
+ vktFragmentOperationsEarlyFragmentTests.hpp
vktFragmentOperationsMakeUtil.cpp
vktFragmentOperationsMakeUtil.hpp
+ vktFragmentOperationsScissorMultiViewportTests.cpp
+ vktFragmentOperationsScissorMultiViewportTests.hpp
+ vktFragmentOperationsScissorTests.cpp
+ vktFragmentOperationsScissorTests.hpp
+ vktFragmentOperationsTests.cpp
+ vktFragmentOperationsTests.hpp
)
set(DEQP_VK_FRAGMENT_OPS_LIBS
* \brief Early fragment tests
*//*--------------------------------------------------------------------*/
-#include "vktPipelineEarlyFragmentTests.hpp"
-#include "vktPipelineMakeUtil.hpp"
+#include "vktFragmentOperationsEarlyFragmentTests.hpp"
+#include "vktFragmentOperationsMakeUtil.hpp"
#include "vktTestCaseUtil.hpp"
#include "vkDefs.hpp"
#include <string>
-using namespace vk;
-
namespace vkt
{
-namespace pipeline
+namespace FragmentOperations
{
namespace
{
+using namespace vk;
+using de::UniquePtr;
//! Basic 2D image.
inline VkImageCreateInfo makeImageCreateInfo (const tcu::IVec2& size, const VkFormat format, const VkImageUsageFlags usage)
// Color attachment
- const tcu::IVec2 renderSize = tcu::IVec2(32, 32);
- const VkFormat colorFormat = VK_FORMAT_R8G8B8A8_UNORM;
- const VkImageSubresourceRange colorSubresourceRange = makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 0u, 1u);
- const Image colorImage (vk, device, allocator, makeImageCreateInfo(renderSize, colorFormat, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT), MemoryRequirement::Any);
- const Unique<VkImageView> colorImageView (makeImageView(vk, device, *colorImage, VK_IMAGE_VIEW_TYPE_2D, colorFormat, colorSubresourceRange));
+ const tcu::IVec2 renderSize = tcu::IVec2(32, 32);
+ const VkFormat colorFormat = VK_FORMAT_R8G8B8A8_UNORM;
+ const VkImageSubresourceRange colorSubresourceRange = makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 0u, 1u);
+ const Unique<VkImage> colorImage (makeImage(vk, device, makeImageCreateInfo(renderSize, colorFormat, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT)));
+ const UniquePtr<Allocation> colorImageAlloc (bindImage(vk, device, allocator, *colorImage, MemoryRequirement::Any));
+ const Unique<VkImageView> colorImageView (makeImageView(vk, device, *colorImage, VK_IMAGE_VIEW_TYPE_2D, colorFormat, colorSubresourceRange));
// Test attachment (depth or stencil)
static const VkFormat stencilFormats[] =
if (m_useTestAttachment)
m_context.getTestContext().getLog() << tcu::TestLog::Message << "Using depth/stencil format " << getFormatName(testFormat) << tcu::TestLog::EndMessage;
- const VkImageSubresourceRange testSubresourceRange = makeImageSubresourceRange(getImageAspectFlags(testFormat), 0u, 1u, 0u, 1u);
- const Image testImage (vk, device, allocator, makeImageCreateInfo(renderSize, testFormat, VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT), MemoryRequirement::Any);
- const Unique<VkImageView> testImageView (makeImageView(vk, device, *testImage, VK_IMAGE_VIEW_TYPE_2D, testFormat, testSubresourceRange));
- const VkImageView attachmentImages[] = { *colorImageView, *testImageView };
- const deUint32 numUsedAttachmentImages = (m_useTestAttachment ? 2u : 1u);
+ const VkImageSubresourceRange testSubresourceRange = makeImageSubresourceRange(getImageAspectFlags(testFormat), 0u, 1u, 0u, 1u);
+ const Unique<VkImage> testImage (makeImage(vk, device, makeImageCreateInfo(renderSize, testFormat, VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT)));
+ const UniquePtr<Allocation> testImageAlloc (bindImage(vk, device, allocator, *testImage, MemoryRequirement::Any));
+ const Unique<VkImageView> testImageView (makeImageView(vk, device, *testImage, VK_IMAGE_VIEW_TYPE_2D, testFormat, testSubresourceRange));
+ const VkImageView attachmentImages[] = { *colorImageView, *testImageView };
+ const deUint32 numUsedAttachmentImages = (m_useTestAttachment ? 2u : 1u);
// Vertex buffer
- const deUint32 numVertices = 6;
- const VkDeviceSize vertexBufferSizeBytes = sizeof(tcu::Vec4) * numVertices;
- const Buffer vertexBuffer (vk, device, allocator, makeBufferCreateInfo(vertexBufferSizeBytes, VK_BUFFER_USAGE_VERTEX_BUFFER_BIT), MemoryRequirement::HostVisible);
+ const deUint32 numVertices = 6;
+ const VkDeviceSize vertexBufferSizeBytes = sizeof(tcu::Vec4) * numVertices;
+ const Unique<VkBuffer> vertexBuffer (makeBuffer(vk, device, makeBufferCreateInfo(vertexBufferSizeBytes, VK_BUFFER_USAGE_VERTEX_BUFFER_BIT)));
+ const UniquePtr<Allocation> vertexBufferAlloc (bindBuffer(vk, device, allocator, *vertexBuffer, MemoryRequirement::HostVisible));
{
- const Allocation& alloc = vertexBuffer.getAllocation();
- tcu::Vec4* const pVertices = reinterpret_cast<tcu::Vec4*>(alloc.getHostPtr());
+ tcu::Vec4* const pVertices = reinterpret_cast<tcu::Vec4*>(vertexBufferAlloc->getHostPtr());
pVertices[0] = tcu::Vec4( 1.0f, -1.0f, 0.5f, 1.0f);
pVertices[1] = tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f);
pVertices[4] = tcu::Vec4( 1.0f, 1.0f, 1.0f, 1.0f);
pVertices[5] = tcu::Vec4( 1.0f, -1.0f, 0.5f, 1.0f);
- flushMappedMemoryRange(vk, device, alloc.getMemory(), alloc.getOffset(), vertexBufferSizeBytes);
+ flushMappedMemoryRange(vk, device, vertexBufferAlloc->getMemory(), vertexBufferAlloc->getOffset(), vertexBufferSizeBytes);
// No barrier needed, flushed memory is automatically visible
}
// Result buffer
- const VkDeviceSize resultBufferSizeBytes = sizeof(deUint32);
- const Buffer resultBuffer(vk, device, allocator, makeBufferCreateInfo(resultBufferSizeBytes, VK_BUFFER_USAGE_STORAGE_BUFFER_BIT), MemoryRequirement::HostVisible);
+ const VkDeviceSize resultBufferSizeBytes = sizeof(deUint32);
+ const Unique<VkBuffer> resultBuffer (makeBuffer(vk, device, makeBufferCreateInfo(resultBufferSizeBytes, VK_BUFFER_USAGE_STORAGE_BUFFER_BIT)));
+ const UniquePtr<Allocation> resultBufferAlloc (bindBuffer(vk, device, allocator, *resultBuffer, MemoryRequirement::HostVisible));
{
- const Allocation& alloc = resultBuffer.getAllocation();
- deUint32* const pData = static_cast<deUint32*>(alloc.getHostPtr());
+ deUint32* const pData = static_cast<deUint32*>(resultBufferAlloc->getHostPtr());
*pData = 0;
- flushMappedMemoryRange(vk, device, alloc.getMemory(), alloc.getOffset(), resultBufferSizeBytes);
+ flushMappedMemoryRange(vk, device, resultBufferAlloc->getMemory(), resultBufferAlloc->getOffset(), resultBufferSizeBytes);
}
// Render result buffer (to retrieve color attachment contents)
- const VkDeviceSize colorBufferSizeBytes = tcu::getPixelSize(mapVkFormat(colorFormat)) * renderSize.x() * renderSize.y();
- const Buffer colorBuffer (vk, device, allocator, makeBufferCreateInfo(colorBufferSizeBytes, VK_BUFFER_USAGE_TRANSFER_DST_BIT), MemoryRequirement::HostVisible);
+ const VkDeviceSize colorBufferSizeBytes = tcu::getPixelSize(mapVkFormat(colorFormat)) * renderSize.x() * renderSize.y();
+ const Unique<VkBuffer> colorBuffer (makeBuffer(vk, device, makeBufferCreateInfo(colorBufferSizeBytes, VK_BUFFER_USAGE_TRANSFER_DST_BIT)));
+ const UniquePtr<Allocation> colorBufferAlloc (bindBuffer(vk, device, allocator, *colorBuffer, MemoryRequirement::HostVisible));
// Descriptors
// Log result image
{
- const Allocation& alloc = colorBuffer.getAllocation();
- invalidateMappedMemoryRange(vk, device, alloc.getMemory(), alloc.getOffset(), colorBufferSizeBytes);
+ invalidateMappedMemoryRange(vk, device, colorBufferAlloc->getMemory(), colorBufferAlloc->getOffset(), colorBufferSizeBytes);
- const tcu::ConstPixelBufferAccess imagePixelAccess(mapVkFormat(colorFormat), renderSize.x(), renderSize.y(), 1, alloc.getHostPtr());
+ const tcu::ConstPixelBufferAccess imagePixelAccess(mapVkFormat(colorFormat), renderSize.x(), renderSize.y(), 1, colorBufferAlloc->getHostPtr());
tcu::TestLog& log = m_context.getTestContext().getLog();
log << tcu::TestLog::Image("color0", "Rendered image", imagePixelAccess);
// Verify results
{
- const Allocation& alloc = resultBuffer.getAllocation();
- invalidateMappedMemoryRange(vk, device, alloc.getMemory(), alloc.getOffset(), resultBufferSizeBytes);
+ invalidateMappedMemoryRange(vk, device, resultBufferAlloc->getMemory(), resultBufferAlloc->getOffset(), resultBufferSizeBytes);
- const int actualCounter = *static_cast<deInt32*>(alloc.getHostPtr());
+ const int actualCounter = *static_cast<deInt32*>(resultBufferAlloc->getHostPtr());
const bool expectPartialResult = (m_useEarlyTests && m_useTestAttachment);
const int expectedCounter = expectPartialResult ? renderSize.x() * renderSize.y() / 2 : renderSize.x() * renderSize.y();
const int tolerance = expectPartialResult ? de::max(renderSize.x(), renderSize.y()) * 3 : 0;
return testGroup.release();
}
-} // pipeline
+} // FragmentOperations
} // vkt
-#ifndef _VKTPIPELINEEARLYFRAGMENTTESTS_HPP
-#define _VKTPIPELINEEARLYFRAGMENTTESTS_HPP
+#ifndef _VKTFRAGMENTOPERATIONSEARLYFRAGMENTTESTS_HPP
+#define _VKTFRAGMENTOPERATIONSEARLYFRAGMENTTESTS_HPP
/*------------------------------------------------------------------------
* Vulkan Conformance Tests
* ------------------------
namespace vkt
{
-namespace pipeline
+namespace FragmentOperations
{
tcu::TestCaseGroup* createEarlyFragmentTests (tcu::TestContext& testCtx);
-} // pipeline
+} // FragmentOperations
} // vkt
-#endif // _VKTPIPELINEEARLYFRAGMENTTESTS_HPP
+#endif // _VKTFRAGMENTOPERATIONSEARLYFRAGMENTTESTS_HPP
#include "vktFragmentOperationsMakeUtil.hpp"
#include "vkTypeUtil.hpp"
#include "vkPrograms.hpp"
-#include "vkRefUtil.hpp"
#include "vkQueryUtil.hpp"
#include <vector>
#include "vkDefs.hpp"
#include "vkRef.hpp"
+#include "vkRefUtil.hpp"
#include "vkMemUtil.hpp"
#include "deUniquePtr.hpp"
#include "tcuVector.hpp"
void beginCommandBuffer (const vk::DeviceInterface& vk, const vk::VkCommandBuffer commandBuffer);
void submitCommandsAndWait (const vk::DeviceInterface& vk, const vk::VkDevice device, const vk::VkQueue queue, const vk::VkCommandBuffer commandBuffer);
+inline vk::Move<vk::VkBuffer> makeBuffer (const vk::DeviceInterface& vk, const vk::VkDevice device, const vk::VkBufferCreateInfo& createInfo)
+{
+ return createBuffer(vk, device, &createInfo);
+}
+
+inline vk::Move<vk::VkImage> makeImage (const vk::DeviceInterface& vk, const vk::VkDevice device, const vk::VkImageCreateInfo& createInfo)
+{
+ return createImage(vk, device, &createInfo);
+}
+
} // FragmentOperations
} // vkt
return vec.size() * sizeof(vec[0]);
}
-Move<VkImage> makeImage (const DeviceInterface& vk, const VkDevice device, const VkFormat format, const IVec2& size, VkImageUsageFlags usage)
+VkImageCreateInfo makeImageCreateInfo (const VkFormat format, const IVec2& size, VkImageUsageFlags usage)
{
const VkImageCreateInfo imageParams =
{
DE_NULL, // const deUint32* pQueueFamilyIndices;
VK_IMAGE_LAYOUT_UNDEFINED, // VkImageLayout initialLayout;
};
- return createImage(vk, device, &imageParams);
-}
-
-inline Move<VkBuffer> makeBuffer (const DeviceInterface& vk, const VkDevice device, const VkDeviceSize bufferSize, const VkBufferUsageFlags usage)
-{
- const VkBufferCreateInfo bufferCreateInfo = makeBufferCreateInfo(bufferSize, usage);
- return createBuffer(vk, device, &bufferCreateInfo);
+ return imageParams;
}
//! A single-attachment, single-subpass render pass.
const deUint32 queueFamilyIndex = context.getUniversalQueueFamilyIndex();
Allocator& allocator = context.getDefaultAllocator();
- m_colorImage = makeImage (vk, device, m_colorFormat, m_renderSize, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT);
+ m_colorImage = makeImage (vk, device, makeImageCreateInfo(m_colorFormat, m_renderSize, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT));
m_colorImageAlloc = bindImage (vk, device, allocator, *m_colorImage, MemoryRequirement::Any);
m_colorAttachment = makeImageView (vk, device, *m_colorImage, VK_IMAGE_VIEW_TYPE_2D, m_colorFormat, m_colorSubresourceRange);
- m_vertexBuffer = makeBuffer (vk, device, m_vertexBufferSize, VK_BUFFER_USAGE_VERTEX_BUFFER_BIT);
+ m_vertexBuffer = makeBuffer (vk, device, makeBufferCreateInfo(m_vertexBufferSize, VK_BUFFER_USAGE_VERTEX_BUFFER_BIT));
m_vertexBufferAlloc = bindBuffer (vk, device, allocator, *m_vertexBuffer, MemoryRequirement::HostVisible);
{
const std::vector<IVec4> scissors = generateScissors(numViewports, renderSize);
const VkDeviceSize colorBufferSize = renderSize.x() * renderSize.y() * tcu::getPixelSize(mapVkFormat(colorFormat));
- const Unique<VkBuffer> colorBuffer (makeBuffer(vk, device, colorBufferSize, VK_BUFFER_USAGE_TRANSFER_DST_BIT));
+ const Unique<VkBuffer> colorBuffer (makeBuffer(vk, device, makeBufferCreateInfo(colorBufferSize, VK_BUFFER_USAGE_TRANSFER_DST_BIT)));
const UniquePtr<Allocation> colorBufferAlloc (bindBuffer(vk, device, allocator, *colorBuffer, MemoryRequirement::HostVisible));
zeroBuffer(vk, device, *colorBufferAlloc, colorBufferSize);
return vec.size() * sizeof(vec[0]);
}
-Move<VkImage> makeImage (const DeviceInterface& vk, const VkDevice device, const VkFormat format, const IVec2& size, VkImageUsageFlags usage)
+VkImageCreateInfo makeImageCreateInfo (const VkFormat format, const IVec2& size, VkImageUsageFlags usage)
{
const VkImageCreateInfo imageParams =
{
DE_NULL, // const deUint32* pQueueFamilyIndices;
VK_IMAGE_LAYOUT_UNDEFINED, // VkImageLayout initialLayout;
};
- return createImage(vk, device, &imageParams);
-}
-
-inline Move<VkBuffer> makeBuffer (const DeviceInterface& vk, const VkDevice device, const VkDeviceSize bufferSize, const VkBufferUsageFlags usage)
-{
- const VkBufferCreateInfo bufferCreateInfo = makeBufferCreateInfo(bufferSize, usage);
- return createBuffer(vk, device, &bufferCreateInfo);
+ return imageParams;
}
//! A single-attachment, single-subpass render pass.
const deUint32 queueFamilyIndex = context.getUniversalQueueFamilyIndex();
Allocator& allocator = context.getDefaultAllocator();
- m_colorImage = makeImage(vk, device, m_colorFormat, m_renderSize, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT);
+ m_colorImage = makeImage(vk, device, makeImageCreateInfo(m_colorFormat, m_renderSize, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT));
m_colorImageAlloc = bindImage(vk, device, allocator, *m_colorImage, MemoryRequirement::Any);
m_colorAttachment = makeImageView(vk, device, *m_colorImage, VK_IMAGE_VIEW_TYPE_2D, m_colorFormat, m_colorSubresourceRange);
- m_vertexBuffer = makeBuffer(vk, device, m_vertexBufferSize, VK_BUFFER_USAGE_VERTEX_BUFFER_BIT);
+ m_vertexBuffer = makeBuffer(vk, device, makeBufferCreateInfo(m_vertexBufferSize, VK_BUFFER_USAGE_VERTEX_BUFFER_BIT));
m_vertexBufferAlloc = bindBuffer(vk, device, allocator, *m_vertexBuffer, MemoryRequirement::HostVisible);
{
const Vec4 clearColor (0.5f, 0.5f, 1.0f, 1.0f);
const VkDeviceSize colorBufferSize = renderSize.x() * renderSize.y() * tcu::getPixelSize(mapVkFormat(colorFormat));
- const Unique<VkBuffer> colorBufferFull (makeBuffer(vk, device, colorBufferSize, VK_BUFFER_USAGE_TRANSFER_DST_BIT));
+ const Unique<VkBuffer> colorBufferFull (makeBuffer(vk, device, makeBufferCreateInfo(colorBufferSize, VK_BUFFER_USAGE_TRANSFER_DST_BIT)));
const UniquePtr<Allocation> colorBufferFullAlloc (bindBuffer(vk, device, allocator, *colorBufferFull, MemoryRequirement::HostVisible));
- const Unique<VkBuffer> colorBufferScissored (makeBuffer(vk, device, colorBufferSize, VK_BUFFER_USAGE_TRANSFER_DST_BIT));
+ const Unique<VkBuffer> colorBufferScissored (makeBuffer(vk, device, makeBufferCreateInfo(colorBufferSize, VK_BUFFER_USAGE_TRANSFER_DST_BIT)));
const UniquePtr<Allocation> colorBufferScissoredAlloc (bindBuffer(vk, device, allocator, *colorBufferScissored, MemoryRequirement::HostVisible));
zeroBuffer(vk, device, *colorBufferFullAlloc, colorBufferSize);
#include "vktFragmentOperationsTests.hpp"
#include "vktTestGroupUtil.hpp"
#include "vktFragmentOperationsScissorTests.hpp"
+#include "vktFragmentOperationsEarlyFragmentTests.hpp"
namespace vkt
{
{
tcu::TestContext& testCtx = fragmentOperationsTestsGroup->getTestContext();
- fragmentOperationsTestsGroup->addChild(createScissorTests(testCtx));
+ fragmentOperationsTestsGroup->addChild(createScissorTests (testCtx));
+ fragmentOperationsTestsGroup->addChild(createEarlyFragmentTests (testCtx));
}
} // anonymous
vktPipelineTimestampTests.hpp
vktPipelineVertexUtil.cpp
vktPipelineVertexUtil.hpp
- vktPipelineEarlyFragmentTests.cpp
- vktPipelineEarlyFragmentTests.hpp
vktPipelineCacheTests.cpp
vktPipelineCacheTests.hpp
vktPipelineMakeUtil.cpp
#include "vktPipelineMultisampleInterpolationTests.hpp"
#include "vktPipelineVertexInputTests.hpp"
#include "vktPipelineTimestampTests.hpp"
-#include "vktPipelineEarlyFragmentTests.hpp"
#include "vktPipelineCacheTests.hpp"
#include "vktTestGroupUtil.hpp"
pipelineTests->addChild(createVertexInputTests (testCtx));
pipelineTests->addChild(createInputAssemblyTests (testCtx));
pipelineTests->addChild(createTimestampTests (testCtx));
- pipelineTests->addChild(createEarlyFragmentTests (testCtx));
pipelineTests->addChild(createCacheTests (testCtx));
}
dEQP-VK.pipeline.timestamp.transfer_tests.host_stage_with_resolve_image_method
dEQP-VK.pipeline.timestamp.transfer_tests.host_stage_with_copy_query_pool_results_method
dEQP-VK.pipeline.timestamp.misc_tests.timestamp_only
-dEQP-VK.pipeline.early_fragment.no_early_fragment_tests_depth
-dEQP-VK.pipeline.early_fragment.no_early_fragment_tests_stencil
-dEQP-VK.pipeline.early_fragment.early_fragment_tests_depth
-dEQP-VK.pipeline.early_fragment.early_fragment_tests_stencil
-dEQP-VK.pipeline.early_fragment.no_early_fragment_tests_depth_no_attachment
-dEQP-VK.pipeline.early_fragment.no_early_fragment_tests_stencil_no_attachment
-dEQP-VK.pipeline.early_fragment.early_fragment_tests_depth_no_attachment
-dEQP-VK.pipeline.early_fragment.early_fragment_tests_stencil_no_attachment
dEQP-VK.pipeline.cache.graphics_tests.vertex_stage_fragment_stage
dEQP-VK.pipeline.cache.graphics_tests.vertex_stage_geometry_stage_fragment_stage
dEQP-VK.pipeline.cache.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage
dEQP-VK.fragment_operations.scissor.multi_viewport.scissor_14
dEQP-VK.fragment_operations.scissor.multi_viewport.scissor_15
dEQP-VK.fragment_operations.scissor.multi_viewport.scissor_16
+dEQP-VK.fragment_operations.early_fragment.no_early_fragment_tests_depth
+dEQP-VK.fragment_operations.early_fragment.no_early_fragment_tests_stencil
+dEQP-VK.fragment_operations.early_fragment.early_fragment_tests_depth
+dEQP-VK.fragment_operations.early_fragment.early_fragment_tests_stencil
+dEQP-VK.fragment_operations.early_fragment.no_early_fragment_tests_depth_no_attachment
+dEQP-VK.fragment_operations.early_fragment.no_early_fragment_tests_stencil_no_attachment
+dEQP-VK.fragment_operations.early_fragment.early_fragment_tests_depth_no_attachment
+dEQP-VK.fragment_operations.early_fragment.early_fragment_tests_stencil_no_attachment