dEQP-VK.pipeline.vertex_input.max_attributes.query_max_attributes.binding_one_to_one.interleaved
dEQP-VK.pipeline.vertex_input.max_attributes.query_max_attributes.binding_one_to_many.interleaved
dEQP-VK.pipeline.vertex_input.max_attributes.query_max_attributes.binding_one_to_many.sequential
-dEQP-VK.pipeline.input_assembly.primitive_topology.point_list
-dEQP-VK.pipeline.input_assembly.primitive_topology.line_list
-dEQP-VK.pipeline.input_assembly.primitive_topology.line_strip
-dEQP-VK.pipeline.input_assembly.primitive_topology.triangle_list
-dEQP-VK.pipeline.input_assembly.primitive_topology.triangle_strip
-dEQP-VK.pipeline.input_assembly.primitive_topology.triangle_fan
-dEQP-VK.pipeline.input_assembly.primitive_topology.line_list_with_adjacency
-dEQP-VK.pipeline.input_assembly.primitive_topology.line_strip_with_adjacency
-dEQP-VK.pipeline.input_assembly.primitive_topology.triangle_list_with_adjacency
-dEQP-VK.pipeline.input_assembly.primitive_topology.triangle_strip_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.point_list
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.line_list
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.line_strip
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.triangle_list
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.triangle_strip
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.triangle_fan
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.line_list_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.line_strip_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.triangle_list_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.triangle_strip_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.point_list
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.line_list
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.line_strip
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.triangle_list
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.triangle_strip
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.triangle_fan
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.line_list_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.line_strip_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.triangle_list_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.triangle_strip_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.point_list
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.line_list
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.line_strip
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.triangle_list
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.triangle_strip
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.triangle_fan
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.line_list_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.line_strip_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.triangle_list_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.triangle_strip_with_adjacency
dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint16.line_strip
dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint16.triangle_strip
dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint16.triangle_fan
dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint32.triangle_fan
dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint32.line_strip_with_adjacency
dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint32.triangle_strip_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint8.line_strip
+dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint8.triangle_strip
+dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint8.triangle_fan
+dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint8.line_strip_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint8.triangle_strip_with_adjacency
dEQP-VK.pipeline.timestamp.basic_graphics_tests.vertex_input_stage_in_render_pass
dEQP-VK.pipeline.timestamp.basic_graphics_tests.vertex_input_stage_out_of_render_pass
dEQP-VK.pipeline.timestamp.basic_graphics_tests.vertex_input_stage_out_of_render_pass_host_query_reset
const static VkPrimitiveTopology s_primitiveTopologies[];
const static deUint32 s_restartIndex32;
const static deUint16 s_restartIndex16;
+ const static deUint8 s_restartIndex8;
InputAssemblyTest (tcu::TestContext& testContext,
const std::string& name,
PrimitiveTopologyTest (tcu::TestContext& testContext,
const std::string& name,
const std::string& description,
- VkPrimitiveTopology primitiveTopology);
+ VkPrimitiveTopology primitiveTopology,
+ VkIndexType indexType);
virtual ~PrimitiveTopologyTest (void) {}
protected:
private:
tcu::TestStatus verifyImage (void);
void uploadIndexBufferData16 (deUint16* destPtr, const std::vector<deUint32>& indexBufferData);
+ void uploadIndexBufferData8 (deUint8* destPtr, const std::vector<deUint32>& indexBufferData);
VkPrimitiveTopology m_primitiveTopology;
bool m_primitiveRestartEnable;
const deUint32 InputAssemblyTest::s_restartIndex32 = ~((deUint32)0u);
const deUint16 InputAssemblyTest::s_restartIndex16 = ~((deUint16)0u);
+const deUint8 InputAssemblyTest::s_restartIndex8 = ~((deUint8)0u);
InputAssemblyTest::InputAssemblyTest (tcu::TestContext& testContext,
const std::string& name,
void InputAssemblyTest::checkSupport (Context& context) const
{
+ if (m_indexType == VK_INDEX_TYPE_UINT8_EXT)
+ context.requireDeviceExtension("VK_EXT_index_type_uint8");
+
switch (m_primitiveTopology)
{
case VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY:
bool InputAssemblyTest::isRestartIndex (VkIndexType indexType, deUint32 indexValue)
{
- if (indexType == VK_INDEX_TYPE_UINT32)
- return indexValue == s_restartIndex32;
- else
+ if (indexType == VK_INDEX_TYPE_UINT16)
return indexValue == s_restartIndex16;
+ else if (indexType == VK_INDEX_TYPE_UINT8_EXT)
+ return indexValue == s_restartIndex8;
+ else
+ return indexValue == s_restartIndex32;
}
deUint32 InputAssemblyTest::getRestartIndex (VkIndexType indexType)
{
if (indexType == VK_INDEX_TYPE_UINT16)
return InputAssemblyTest::s_restartIndex16;
+ else if (indexType == VK_INDEX_TYPE_UINT8_EXT)
+ return InputAssemblyTest::s_restartIndex8;
else
return InputAssemblyTest::s_restartIndex32;
}
PrimitiveTopologyTest::PrimitiveTopologyTest (tcu::TestContext& testContext,
const std::string& name,
const std::string& description,
- VkPrimitiveTopology primitiveTopology)
- : InputAssemblyTest (testContext, name, description, primitiveTopology, 10, false, VK_INDEX_TYPE_UINT32)
+ VkPrimitiveTopology primitiveTopology,
+ VkIndexType indexType)
+ : InputAssemblyTest (testContext, name, description, primitiveTopology, 10, false, indexType)
{
}
{
deMemcpy(m_indexBufferAlloc->getHostPtr(), m_indices.data(), m_indices.size() * sizeof(deUint32));
}
+ else if (m_indexType == VK_INDEX_TYPE_UINT8_EXT)
+ {
+ uploadIndexBufferData8((deUint8*)m_indexBufferAlloc->getHostPtr(), m_indices);
+ }
else // m_indexType == VK_INDEX_TYPE_UINT16
{
uploadIndexBufferData16((deUint16*)m_indexBufferAlloc->getHostPtr(), m_indices);
}
}
+void InputAssemblyInstance::uploadIndexBufferData8 (deUint8* destPtr, const std::vector<deUint32>& indexBufferData)
+{
+ for (size_t i = 0; i < indexBufferData.size(); i++)
+ {
+ DE_ASSERT(indexBufferData[i] <= 0xFF);
+ destPtr[i] = (deUint8)indexBufferData[i];
+ }
+}
+
// Utilities for test names
{
de::MovePtr<tcu::TestCaseGroup> primitiveTopologyTests (new tcu::TestCaseGroup(testCtx, "primitive_topology", ""));
+ de::MovePtr<tcu::TestCaseGroup> indexUint16Tests (new tcu::TestCaseGroup(testCtx, "index_type_uint16", ""));
+ de::MovePtr<tcu::TestCaseGroup> indexUint32Tests (new tcu::TestCaseGroup(testCtx, "index_type_uint32", ""));
+ de::MovePtr<tcu::TestCaseGroup> indexUint8Tests (new tcu::TestCaseGroup(testCtx, "index_type_uint8", ""));
+
for (int topologyNdx = 0; topologyNdx < DE_LENGTH_OF_ARRAY(InputAssemblyTest::s_primitiveTopologies); topologyNdx++)
{
const VkPrimitiveTopology topology = InputAssemblyTest::s_primitiveTopologies[topologyNdx];
- primitiveTopologyTests->addChild(new PrimitiveTopologyTest(testCtx,
- getPrimitiveTopologyCaseName(topology),
- "",
- topology));
+ indexUint16Tests->addChild(new PrimitiveTopologyTest(testCtx,
+ getPrimitiveTopologyCaseName(topology),
+ "",
+ topology,
+ VK_INDEX_TYPE_UINT16));
+
+ indexUint32Tests->addChild(new PrimitiveTopologyTest(testCtx,
+ getPrimitiveTopologyCaseName(topology),
+ "",
+ topology,
+ VK_INDEX_TYPE_UINT32));
+
+ indexUint8Tests->addChild(new PrimitiveTopologyTest(testCtx,
+ getPrimitiveTopologyCaseName(topology),
+ "",
+ topology,
+ VK_INDEX_TYPE_UINT8_EXT));
}
+ primitiveTopologyTests->addChild(indexUint16Tests.release());
+ primitiveTopologyTests->addChild(indexUint32Tests.release());
+ primitiveTopologyTests->addChild(indexUint8Tests.release());
+
return primitiveTopologyTests;
}
de::MovePtr<tcu::TestCaseGroup> indexUint16Tests (new tcu::TestCaseGroup(testCtx, "index_type_uint16", ""));
de::MovePtr<tcu::TestCaseGroup> indexUint32Tests (new tcu::TestCaseGroup(testCtx, "index_type_uint32", ""));
+ de::MovePtr<tcu::TestCaseGroup> indexUint8Tests (new tcu::TestCaseGroup(testCtx, "index_type_uint8", ""));
for (int topologyNdx = 0; topologyNdx < DE_LENGTH_OF_ARRAY(primitiveRestartTopologies); topologyNdx++)
{
"",
topology,
VK_INDEX_TYPE_UINT32));
+
+ indexUint8Tests->addChild(new PrimitiveRestartTest(testCtx,
+ getPrimitiveTopologyCaseName(topology),
+ "",
+ topology,
+ VK_INDEX_TYPE_UINT8_EXT));
}
primitiveRestartTests->addChild(indexUint16Tests.release());
primitiveRestartTests->addChild(indexUint32Tests.release());
+ primitiveRestartTests->addChild(indexUint8Tests.release());
return primitiveRestartTests;
}
dEQP-VK.pipeline.vertex_input.max_attributes.query_max_attributes.binding_one_to_one.interleaved
dEQP-VK.pipeline.vertex_input.max_attributes.query_max_attributes.binding_one_to_many.interleaved
dEQP-VK.pipeline.vertex_input.max_attributes.query_max_attributes.binding_one_to_many.sequential
-dEQP-VK.pipeline.input_assembly.primitive_topology.point_list
-dEQP-VK.pipeline.input_assembly.primitive_topology.line_list
-dEQP-VK.pipeline.input_assembly.primitive_topology.line_strip
-dEQP-VK.pipeline.input_assembly.primitive_topology.triangle_list
-dEQP-VK.pipeline.input_assembly.primitive_topology.triangle_strip
-dEQP-VK.pipeline.input_assembly.primitive_topology.triangle_fan
-dEQP-VK.pipeline.input_assembly.primitive_topology.line_list_with_adjacency
-dEQP-VK.pipeline.input_assembly.primitive_topology.line_strip_with_adjacency
-dEQP-VK.pipeline.input_assembly.primitive_topology.triangle_list_with_adjacency
-dEQP-VK.pipeline.input_assembly.primitive_topology.triangle_strip_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.point_list
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.line_list
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.line_strip
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.triangle_list
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.triangle_strip
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.triangle_fan
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.line_list_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.line_strip_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.triangle_list_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.triangle_strip_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.point_list
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.line_list
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.line_strip
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.triangle_list
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.triangle_strip
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.triangle_fan
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.line_list_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.line_strip_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.triangle_list_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.triangle_strip_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.point_list
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.line_list
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.line_strip
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.triangle_list
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.triangle_strip
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.triangle_fan
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.line_list_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.line_strip_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.triangle_list_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.triangle_strip_with_adjacency
dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint16.line_strip
dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint16.triangle_strip
dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint16.triangle_fan
dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint32.triangle_fan
dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint32.line_strip_with_adjacency
dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint32.triangle_strip_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint8.line_strip
+dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint8.triangle_strip
+dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint8.triangle_fan
+dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint8.line_strip_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint8.triangle_strip_with_adjacency
dEQP-VK.pipeline.timestamp.basic_graphics_tests.vertex_input_stage_in_render_pass
dEQP-VK.pipeline.timestamp.basic_graphics_tests.vertex_input_stage_out_of_render_pass
dEQP-VK.pipeline.timestamp.basic_graphics_tests.vertex_input_stage_out_of_render_pass_host_query_reset
dEQP-VK.pipeline.vertex_input.max_attributes.query_max_attributes.binding_one_to_one.interleaved
dEQP-VK.pipeline.vertex_input.max_attributes.query_max_attributes.binding_one_to_many.interleaved
dEQP-VK.pipeline.vertex_input.max_attributes.query_max_attributes.binding_one_to_many.sequential
-dEQP-VK.pipeline.input_assembly.primitive_topology.point_list
-dEQP-VK.pipeline.input_assembly.primitive_topology.line_list
-dEQP-VK.pipeline.input_assembly.primitive_topology.line_strip
-dEQP-VK.pipeline.input_assembly.primitive_topology.triangle_list
-dEQP-VK.pipeline.input_assembly.primitive_topology.triangle_strip
-dEQP-VK.pipeline.input_assembly.primitive_topology.triangle_fan
-dEQP-VK.pipeline.input_assembly.primitive_topology.line_list_with_adjacency
-dEQP-VK.pipeline.input_assembly.primitive_topology.line_strip_with_adjacency
-dEQP-VK.pipeline.input_assembly.primitive_topology.triangle_list_with_adjacency
-dEQP-VK.pipeline.input_assembly.primitive_topology.triangle_strip_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.point_list
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.line_list
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.line_strip
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.triangle_list
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.triangle_strip
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.triangle_fan
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.line_list_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.line_strip_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.triangle_list_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.triangle_strip_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.point_list
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.line_list
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.line_strip
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.triangle_list
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.triangle_strip
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.triangle_fan
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.line_list_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.line_strip_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.triangle_list_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint32.triangle_strip_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.point_list
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.line_list
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.line_strip
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.triangle_list
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.triangle_strip
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.triangle_fan
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.line_list_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.line_strip_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.triangle_list_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint8.triangle_strip_with_adjacency
dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint16.line_strip
dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint16.triangle_strip
dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint16.triangle_fan
dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint32.triangle_fan
dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint32.line_strip_with_adjacency
dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint32.triangle_strip_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint8.line_strip
+dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint8.triangle_strip
+dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint8.triangle_fan
+dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint8.line_strip_with_adjacency
+dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint8.triangle_strip_with_adjacency
dEQP-VK.pipeline.timestamp.basic_graphics_tests.vertex_input_stage_in_render_pass
dEQP-VK.pipeline.timestamp.basic_graphics_tests.vertex_input_stage_out_of_render_pass
dEQP-VK.pipeline.timestamp.basic_graphics_tests.vertex_input_stage_out_of_render_pass_host_query_reset
name = name.replace("SMBUILTINS", "SM_BUILTINS")
name = name.replace("ASTCHDRFEATURES", "ASTC_HDR_FEATURES")
name = name.replace("UINT_8", "UINT8")
+ name = name.replace("INT_8_", "INT8_")
return prefix + name