Commit 9e5d547d by Nicolas Capens Committed by Nicolas Capens

Replace vector() and replicate() with float4 constructors

Bug: b/146224130 Change-Id: Icdbb738ddc286c67a18456529e0137a9d504a8ed Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39629 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by: 's avatarNicolas Capens <nicolascapens@google.com> Reviewed-by: 's avatarBen Clayton <bclayton@google.com>
parent 7e0142f2
......@@ -1282,10 +1282,10 @@ void Blitter::ApplyScaleAndClamp(Float4 &value, const State &state, bool preScal
switch(state.sourceFormat)
{
case VK_FORMAT_R32G32B32A32_SINT:
unscale = replicate(static_cast<float>(0x7FFFFFFF));
unscale = float4(static_cast<float>(0x7FFFFFFF));
break;
case VK_FORMAT_R32G32B32A32_UINT:
unscale = replicate(static_cast<float>(0xFFFFFFFF));
unscale = float4(static_cast<float>(0xFFFFFFFF));
break;
default:
UNSUPPORTED("Blitter source format %d", (int)state.sourceFormat);
......
......@@ -301,15 +301,15 @@ void Renderer::draw(const sw::Context* context, VkIndexType indexType, unsigned
{
if(ms == 4)
{
data->a2c0 = replicate(0.2f);
data->a2c1 = replicate(0.4f);
data->a2c2 = replicate(0.6f);
data->a2c3 = replicate(0.8f);
data->a2c0 = float4(0.2f);
data->a2c1 = float4(0.4f);
data->a2c2 = float4(0.6f);
data->a2c3 = float4(0.8f);
}
else if(ms == 2)
{
data->a2c0 = replicate(0.25f);
data->a2c1 = replicate(0.75f);
data->a2c0 = float4(0.25f);
data->a2c1 = float4(0.75f);
}
else ASSERT(false);
}
......@@ -338,12 +338,12 @@ void Renderer::draw(const sw::Context* context, VkIndexType indexType, unsigned
N += context->depthBias;
}
data->WxF = replicate(W * subPixF);
data->HxF = replicate(H * subPixF);
data->X0xF = replicate(X0 * subPixF - subPixF / 2);
data->Y0xF = replicate(Y0 * subPixF - subPixF / 2);
data->halfPixelX = replicate(0.5f / W);
data->halfPixelY = replicate(0.5f / H);
data->WxF = float4(W * subPixF);
data->HxF = float4(H * subPixF);
data->X0xF = float4(X0 * subPixF - subPixF / 2);
data->Y0xF = float4(Y0 * subPixF - subPixF / 2);
data->halfPixelX = float4(0.5f / W);
data->halfPixelY = float4(0.5f / H);
data->viewportHeight = abs(viewport.height);
data->slopeDepthBias = context->slopeDepthBias;
data->depthRange = Z;
......
......@@ -281,27 +281,27 @@ Constants::Constants()
for(int i = 0; i < 256; i++)
{
sRGBtoLinear8_16[i] = (unsigned short)(sw::sRGBtoLinear((float)i / 0xFF) * 0xFFFF + 0.5f);
sRGBtoLinear8_16[i] = (unsigned short)(sRGBtoLinear((float)i / 0xFF) * 0xFFFF + 0.5f);
}
for(int i = 0; i < 0x1000; i++)
{
linearToSRGB12_16[i] = (unsigned short)(clamp(sw::linearToSRGB((float)i / 0x0FFF) * 0xFFFF + 0.5f, 0.0f, (float)0xFFFF));
sRGBtoLinear12_16[i] = (unsigned short)(clamp(sw::sRGBtoLinear((float)i / 0x0FFF) * 0xFFFF + 0.5f, 0.0f, (float)0xFFFF));
linearToSRGB12_16[i] = (unsigned short)(clamp(linearToSRGB((float)i / 0x0FFF) * 0xFFFF + 0.5f, 0.0f, (float)0xFFFF));
sRGBtoLinear12_16[i] = (unsigned short)(clamp(sRGBtoLinear((float)i / 0x0FFF) * 0xFFFF + 0.5f, 0.0f, (float)0xFFFF));
}
constexpr float4 X[4] = {
sw::replicate(SampleLocationsX[0]),
sw::replicate(SampleLocationsX[1]),
sw::replicate(SampleLocationsX[2]),
sw::replicate(SampleLocationsX[3]),
const float4 X[4] = {
float4(SampleLocationsX[0]),
float4(SampleLocationsX[1]),
float4(SampleLocationsX[2]),
float4(SampleLocationsX[3]),
};
constexpr float4 Y[4] = {
sw::replicate(SampleLocationsY[0]),
sw::replicate(SampleLocationsY[1]),
sw::replicate(SampleLocationsY[2]),
sw::replicate(SampleLocationsY[3]),
const float4 Y[4] = {
float4(SampleLocationsY[0]),
float4(SampleLocationsY[1]),
float4(SampleLocationsY[2]),
float4(SampleLocationsY[3]),
};
for(int q = 0; q < 4; q++)
......
......@@ -305,10 +305,10 @@ void DescriptorSetLayout::WriteDescriptorSet(Device* device, DescriptorSet *dstS
imageSampler[i].arrayLayers = 1;
imageSampler[i].mipLevels = 1;
imageSampler[i].sampleCount = 1;
imageSampler[i].texture.widthWidthHeightHeight = sw::vector(static_cast<float>(numElements), static_cast<float>(numElements), 1, 1);
imageSampler[i].texture.width = sw::replicate(static_cast<float>(numElements));
imageSampler[i].texture.height = sw::replicate(1);
imageSampler[i].texture.depth = sw::replicate(1);
imageSampler[i].texture.widthWidthHeightHeight = sw::float4(static_cast<float>(numElements), static_cast<float>(numElements), 1, 1);
imageSampler[i].texture.width = sw::float4(static_cast<float>(numElements));
imageSampler[i].texture.height = sw::float4(1);
imageSampler[i].texture.depth = sw::float4(1);
imageSampler[i].device = device;
sw::Mipmap &mipmap = imageSampler[i].texture.mipmap[0];
......
......@@ -1836,7 +1836,7 @@ sw::float4 Format::getScale() const
case VK_FORMAT_R4G4_UNORM_PACK8:
case VK_FORMAT_R4G4B4A4_UNORM_PACK16:
case VK_FORMAT_B4G4R4A4_UNORM_PACK16:
return sw::vector(0xF, 0xF, 0xF, 0xF);
return sw::float4(0xF, 0xF, 0xF, 0xF);
case VK_FORMAT_R8_UNORM:
case VK_FORMAT_R8G8_UNORM:
case VK_FORMAT_R8G8B8_UNORM:
......@@ -1851,7 +1851,7 @@ sw::float4 Format::getScale() const
case VK_FORMAT_A8B8G8R8_SRGB_PACK32:
case VK_FORMAT_R8G8B8A8_SRGB:
case VK_FORMAT_B8G8R8A8_SRGB:
return sw::vector(0xFF, 0xFF, 0xFF, 0xFF);
return sw::float4(0xFF, 0xFF, 0xFF, 0xFF);
case VK_FORMAT_R8_SNORM:
case VK_FORMAT_R8G8_SNORM:
case VK_FORMAT_R8G8B8_SNORM:
......@@ -1859,17 +1859,17 @@ sw::float4 Format::getScale() const
case VK_FORMAT_A8B8G8R8_SNORM_PACK32:
case VK_FORMAT_R8G8B8A8_SNORM:
case VK_FORMAT_B8G8R8A8_SNORM:
return sw::vector(0x7F, 0x7F, 0x7F, 0x7F);
return sw::float4(0x7F, 0x7F, 0x7F, 0x7F);
case VK_FORMAT_R16_UNORM:
case VK_FORMAT_R16G16_UNORM:
case VK_FORMAT_R16G16B16_UNORM:
case VK_FORMAT_R16G16B16A16_UNORM:
return sw::vector(0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF);
return sw::float4(0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF);
case VK_FORMAT_R16_SNORM:
case VK_FORMAT_R16G16_SNORM:
case VK_FORMAT_R16G16B16_SNORM:
case VK_FORMAT_R16G16B16A16_SNORM:
return sw::vector(0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF);
return sw::float4(0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF);
case VK_FORMAT_R8_SINT:
case VK_FORMAT_R8_UINT:
case VK_FORMAT_R8G8_SINT:
......@@ -1938,35 +1938,35 @@ sw::float4 Format::getScale() const
case VK_FORMAT_A2B10G10R10_SSCALED_PACK32:
case VK_FORMAT_A2B10G10R10_UINT_PACK32:
case VK_FORMAT_A2B10G10R10_SINT_PACK32:
return sw::vector(1.0f, 1.0f, 1.0f, 1.0f);
return sw::float4(1.0f, 1.0f, 1.0f, 1.0f);
case VK_FORMAT_R5G5B5A1_UNORM_PACK16:
case VK_FORMAT_B5G5R5A1_UNORM_PACK16:
case VK_FORMAT_A1R5G5B5_UNORM_PACK16:
return sw::vector(0x1F, 0x1F, 0x1F, 0x01);
return sw::float4(0x1F, 0x1F, 0x1F, 0x01);
case VK_FORMAT_R5G6B5_UNORM_PACK16:
case VK_FORMAT_B5G6R5_UNORM_PACK16:
return sw::vector(0x1F, 0x3F, 0x1F, 1.0f);
return sw::float4(0x1F, 0x3F, 0x1F, 1.0f);
case VK_FORMAT_A2R10G10B10_UNORM_PACK32:
case VK_FORMAT_A2B10G10R10_UNORM_PACK32:
return sw::vector(0x3FF, 0x3FF, 0x3FF, 0x03);
return sw::float4(0x3FF, 0x3FF, 0x3FF, 0x03);
case VK_FORMAT_A2R10G10B10_SNORM_PACK32:
case VK_FORMAT_A2B10G10R10_SNORM_PACK32:
return sw::vector(0x1FF, 0x1FF, 0x1FF, 0x01);
return sw::float4(0x1FF, 0x1FF, 0x1FF, 0x01);
case VK_FORMAT_D16_UNORM:
return sw::vector(0xFFFF, 0.0f, 0.0f, 0.0f);
return sw::float4(0xFFFF, 0.0f, 0.0f, 0.0f);
case VK_FORMAT_D24_UNORM_S8_UINT:
case VK_FORMAT_X8_D24_UNORM_PACK32:
return sw::vector(0xFFFFFF, 0.0f, 0.0f, 0.0f);
return sw::float4(0xFFFFFF, 0.0f, 0.0f, 0.0f);
case VK_FORMAT_D32_SFLOAT:
case VK_FORMAT_D32_SFLOAT_S8_UINT:
case VK_FORMAT_S8_UINT:
return sw::vector(1.0f, 1.0f, 1.0f, 1.0f);
return sw::float4(1.0f, 1.0f, 1.0f, 1.0f);
default:
UNSUPPORTED("format %d", int(format));
break;
}
return sw::vector(1.0f, 1.0f, 1.0f, 1.0f);
return sw::float4(1.0f, 1.0f, 1.0f, 1.0f);
}
bool Format::has16bitTextureFormat() const
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment