Commit 7bb425c6 by Jamie Madill Committed by Commit Bot

Revert "D3D11: Clean up blendState code."

This reverts commit 786ad387. Reason for revert: Seems to have a bug with binding the BlendStates, causing a crash on Intel. https://luci-milo.appspot.com/buildbot/chromium.gpu.fyi/Win10%20Release%20%28Intel%20HD%20530%29/141 Failing WebGL 2 tests WebglConformance_conformance2_reading_read_pixels_from_fbo_test WebglConformance_deqp_functional_gles3_readpixel Also generates D3D11 runtime warnings: D3D11 ERROR: ID3D11DeviceContext::Draw: The renderTarget bound to slot 0 has a format (R8_UINT) that does not support blending. The Pixel Shader output signature indicates this output could be written, and the Blend State indicates blending is enabled for this slot. [ EXECUTION ERROR #376: DEVICE_DRAW_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING] BUG=angleproject:1632 BUG=chromium:688419 Original change's description: > D3D11: Clean up blendState code. > > Masked Clear Draw Changes: > - Use universal blendstate object > - Eliminate blendState cache for masked clears > - Use rasterState and scissor rect for scissoring instead of adjusting vertex positions > - VB contains only static position data (per vertex color removed) > - Clear color(s) and depth clear values now passed in using a constant buffer > - MultiColorclear shader used for float clears to workaround alpha rounding issues > - Update shader compile script and shader source and bytecode headers > - Remove unused shaders (source and bytecode headers) > - Use com pointers where possible for D3D11 objects > > BUG=angleproject:1632 > > Change-Id: I98e38451bd453f53b772fe93ec9dcceb4196ea58 > Reviewed-on: https://chromium-review.googlesource.com/413736 > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Shahmeer Esmail <shahmeer.esmail@intel.com> > Commit-Queue: Jamie Madill <jmadill@chromium.org> > TBR=geofflang@chromium.org,jmadill@chromium.org,shahmeer.esmail@intel.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=angleproject:1632 Change-Id: Iea537505d8cce7241edaba1f1d9f404abb1d9a10 Reviewed-on: https://chromium-review.googlesource.com/437306Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
parent 604359b9
......@@ -71,7 +71,6 @@ Intel Corporation
Bryan Bernhart
Yunchao He
Xinghua Cao
Shahmeer Esmail
Klarälvdalens Datakonsult AB
Milian Wolff
......
......@@ -20,135 +20,110 @@
#include "third_party/trace_event/trace_event.h"
// Precompiled shaders
#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/clearanytype11vs.h"
#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/clearfloat11_fl9ps.h"
#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/clearfloat11vs.h"
#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/clearfloat11ps.h"
#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/clearfloat11_fl9ps.h"
#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/clearuint11vs.h"
#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/clearuint11ps.h"
#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/clearsint11vs.h"
#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/clearsint11ps.h"
namespace rx
{
namespace
{
template <typename T>
struct RtvDsvClearInfo
{
gl::Color<T> clearColor;
float z;
float alphas1to7[7];
};
// Helper function to fill RtvDsvClearInfo with a single color
template <typename T>
void ApplyColorAndDepthData(const gl::Color<T> &color, const float depthValue, void *buffer)
{
static_assert((sizeof(RtvDsvClearInfo<float>) == sizeof(RtvDsvClearInfo<int>)),
"Size of rx::RtvDsvClearInfo<float> is not equal to rx::RtvDsvClearInfo<int>");
RtvDsvClearInfo<T> *rtvDsvData = reinterpret_cast<RtvDsvClearInfo<T> *>(buffer);
rtvDsvData->clearColor.red = color.red;
rtvDsvData->clearColor.green = color.green;
rtvDsvData->clearColor.blue = color.blue;
rtvDsvData->clearColor.alpha = color.alpha;
rtvDsvData->z = gl::clamp01(depthValue);
}
// Helper function to fill RtvDsvClearInfo with more than one alpha
void ApplyAdjustedColorAndDepthData(const gl::Color<float> &color,
const std::vector<MaskedRenderTarget> &renderTargets,
const float depthValue,
void *buffer)
static void ApplyVertices(const gl::Extents &framebufferSize,
const gl::Rectangle *scissor,
const gl::Color<T> &color,
float depth,
void *buffer)
{
static_assert((sizeof(float) * 5 == (offsetof(RtvDsvClearInfo<float>, alphas1to7))),
"Unexpected padding in rx::RtvDsvClearInfo between z and alphas1to7 elements");
static_assert((sizeof(RtvDsvClearInfo<float>) ==
(offsetof(RtvDsvClearInfo<float>, alphas1to7) + sizeof(float) * 7)),
"Unexpected padding in rx::RtvDsvClearInfo after alphas1to7 element");
const unsigned int numRtvs = static_cast<unsigned int>(renderTargets.size());
d3d11::PositionDepthColorVertex<T> *vertices =
reinterpret_cast<d3d11::PositionDepthColorVertex<T> *>(buffer);
RtvDsvClearInfo<float> *rtvDsvData = reinterpret_cast<RtvDsvClearInfo<float> *>(buffer);
float depthClear = gl::clamp01(depth);
float left = -1.0f;
float right = 1.0f;
float top = -1.0f;
float bottom = 1.0f;
rtvDsvData->z = gl::clamp01(depthValue);
if (numRtvs > 0)
// Clip the quad coordinates to the scissor if needed
if (scissor != nullptr)
{
rtvDsvData->clearColor.red = color.red;
rtvDsvData->clearColor.green = color.green;
rtvDsvData->clearColor.blue = color.blue;
rtvDsvData->clearColor.alpha = renderTargets[0].alphaOverride;
for (unsigned int i = 1; i < numRtvs; i++)
{
rtvDsvData->alphas1to7[i] = renderTargets[i].alphaOverride;
}
left = std::max(left, (scissor->x / float(framebufferSize.width)) * 2.0f - 1.0f);
right = std::min(
right, ((scissor->x + scissor->width) / float(framebufferSize.width)) * 2.0f - 1.0f);
top = std::max(top, ((framebufferSize.height - scissor->y - scissor->height) /
float(framebufferSize.height)) *
2.0f -
1.0f);
bottom = std::min(
bottom,
((framebufferSize.height - scissor->y) / float(framebufferSize.height)) * 2.0f - 1.0f);
}
}
// Clamps and rounds alpha clear values to either 0.0f or 1.0f
float AdjustAlphaFor1BitOutput(float alpha)
{
// Some drivers do not correctly handle calling Clear() on formats with a
// 1-bit alpha component. They can incorrectly round all non-zero values
// up to 1.0f. Note that WARP does not do this. We should handle the
// rounding for them instead.
return (alpha >= 0.5f ? 1.0f : 0.0f);
}
} // anonymous namespace
Clear11::ClearShader::ClearShader(const BYTE *vsByteCode,
size_t vsSize,
const char *vsDebugName,
const BYTE *psByteCode,
size_t psSize,
const char *psDebugName)
: inputLayout(nullptr, 0, nullptr, 0, nullptr),
vertexShader(vsByteCode, vsSize, vsDebugName),
pixelShader(psByteCode, psSize, psDebugName)
{
d3d11::SetPositionDepthColorVertex<T>(vertices + 0, left, bottom, depthClear, color);
d3d11::SetPositionDepthColorVertex<T>(vertices + 1, left, top, depthClear, color);
d3d11::SetPositionDepthColorVertex<T>(vertices + 2, right, bottom, depthClear, color);
d3d11::SetPositionDepthColorVertex<T>(vertices + 3, right, top, depthClear, color);
}
Clear11::ClearShader::ClearShader(const D3D11_INPUT_ELEMENT_DESC *ilDesc,
size_t ilSize,
const char *ilDebugName,
Clear11::ClearShader::ClearShader(DXGI_FORMAT colorType,
const char *inputLayoutName,
const BYTE *vsByteCode,
size_t vsSize,
const char *vsDebugName,
const BYTE *psByteCode,
size_t psSize,
const char *psDebugName)
: inputLayout(ilDesc, ilSize, vsByteCode, vsSize, ilDebugName),
: inputLayout(nullptr),
vertexShader(vsByteCode, vsSize, vsDebugName),
pixelShader(psByteCode, psSize, psDebugName)
{
D3D11_INPUT_ELEMENT_DESC quadLayout[] = {
{"POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0},
{"COLOR", 0, colorType, 0, 12, D3D11_INPUT_PER_VERTEX_DATA, 0},
};
inputLayout = new d3d11::LazyInputLayout(quadLayout, 2, vsByteCode, vsSize, inputLayoutName);
}
Clear11::ClearShader::~ClearShader()
{
inputLayout.release();
SafeDelete(inputLayout);
vertexShader.release();
pixelShader.release();
}
Clear11::Clear11(Renderer11 *renderer)
: mRenderer(renderer),
mClearBlendStates(StructLessThan<ClearBlendInfo>),
mFloatClearShader(nullptr),
mUintClearShader(nullptr),
mIntClearShader(nullptr),
mClearDepthStencilStates(StructLessThan<ClearDepthStencilInfo>),
mVertexBuffer(nullptr),
mColorAndDepthDataBuffer(nullptr),
mScissorEnabledRasterizerState(nullptr),
mScissorDisabledRasterizerState(nullptr),
mBlendState(nullptr)
mRasterizerState(nullptr)
{
TRACE_EVENT0("gpu.angle", "Clear11::Clear11");
HRESULT result;
ID3D11Device *device = renderer->getDevice();
D3D11_BUFFER_DESC vbDesc;
vbDesc.ByteWidth = sizeof(d3d11::PositionDepthColorVertex<float>) * 4;
vbDesc.Usage = D3D11_USAGE_DYNAMIC;
vbDesc.BindFlags = D3D11_BIND_VERTEX_BUFFER;
vbDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
vbDesc.MiscFlags = 0;
vbDesc.StructureByteStride = 0;
result = device->CreateBuffer(&vbDesc, nullptr, &mVertexBuffer);
ASSERT(SUCCEEDED(result));
d3d11::SetDebugName(mVertexBuffer, "Clear11 masked clear vertex buffer");
D3D11_RASTERIZER_DESC rsDesc;
rsDesc.FillMode = D3D11_FILL_SOLID;
rsDesc.CullMode = D3D11_CULL_NONE;
......@@ -161,106 +136,47 @@ Clear11::Clear11(Renderer11 *renderer)
rsDesc.MultisampleEnable = FALSE;
rsDesc.AntialiasedLineEnable = FALSE;
result = device->CreateRasterizerState(&rsDesc, mScissorDisabledRasterizerState.GetAddressOf());
ASSERT(SUCCEEDED(result));
d3d11::SetDebugName(mScissorDisabledRasterizerState,
"Clear11 masked clear rasterizer without scissor state");
rsDesc.ScissorEnable = TRUE;
result = device->CreateRasterizerState(&rsDesc, mScissorEnabledRasterizerState.GetAddressOf());
result = device->CreateRasterizerState(&rsDesc, &mRasterizerState);
ASSERT(SUCCEEDED(result));
d3d11::SetDebugName(mScissorEnabledRasterizerState,
"Clear11 masked clear rasterizer with scissor state");
D3D11_BLEND_DESC blendDesc = {0};
blendDesc.AlphaToCoverageEnable = FALSE;
blendDesc.IndependentBlendEnable = FALSE;
blendDesc.RenderTarget[0].BlendEnable = TRUE;
blendDesc.RenderTarget[0].BlendOp = D3D11_BLEND_OP_ADD;
blendDesc.RenderTarget[0].BlendOpAlpha = D3D11_BLEND_OP_ADD;
blendDesc.RenderTarget[0].SrcBlend = D3D11_BLEND_BLEND_FACTOR;
blendDesc.RenderTarget[0].SrcBlendAlpha = D3D11_BLEND_BLEND_FACTOR;
blendDesc.RenderTarget[0].DestBlend = D3D11_BLEND_INV_BLEND_FACTOR;
blendDesc.RenderTarget[0].DestBlendAlpha = D3D11_BLEND_INV_BLEND_FACTOR;
blendDesc.RenderTarget[0].RenderTargetWriteMask = D3D11_COLOR_WRITE_ENABLE_ALL;
result = device->CreateBlendState(&blendDesc, mBlendState.GetAddressOf());
ASSERT(SUCCEEDED(result));
d3d11::SetDebugName(mBlendState, "Clear11 masked clear universal blendState");
// Create constant buffer for color & depth data
const UINT colorAndDepthDataSize = rx::roundUp<UINT>(sizeof(RtvDsvClearInfo<float>), 16);
D3D11_BUFFER_DESC bufferDesc;
bufferDesc.ByteWidth = colorAndDepthDataSize;
bufferDesc.Usage = D3D11_USAGE_DYNAMIC;
bufferDesc.BindFlags = D3D11_BIND_CONSTANT_BUFFER;
bufferDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
bufferDesc.MiscFlags = 0;
bufferDesc.StructureByteStride = 0;
result = device->CreateBuffer(&bufferDesc, nullptr, mColorAndDepthDataBuffer.GetAddressOf());
ASSERT(SUCCEEDED(result));
d3d11::SetDebugName(mColorAndDepthDataBuffer, "Clear11 masked clear constant buffer");
// Create vertex buffer with clip co-ordinates for a quad that covers the entire surface
const d3d11::PositionVertex vbData[4] = {{-1.0f, 1.0f, 0.0f, 0.0f},
{-1.0f, -1.0f, 0.0f, 0.0f},
{1.0f, 1.0f, 0.0f, 0.0f},
{1.0f, -1.0f, 0.0f, 0.0f}};
const UINT vbSize = sizeof(vbData);
ASSERT((vbSize % 16) == 0);
D3D11_SUBRESOURCE_DATA initialData;
initialData.pSysMem = vbData;
initialData.SysMemPitch = vbSize;
initialData.SysMemSlicePitch = initialData.SysMemPitch;
bufferDesc.ByteWidth = vbSize;
bufferDesc.Usage = D3D11_USAGE_IMMUTABLE;
bufferDesc.BindFlags = D3D11_BIND_VERTEX_BUFFER;
bufferDesc.CPUAccessFlags = 0;
bufferDesc.MiscFlags = 0;
bufferDesc.StructureByteStride = 0;
result = device->CreateBuffer(&bufferDesc, &initialData, mVertexBuffer.GetAddressOf());
ASSERT(SUCCEEDED(result));
d3d11::SetDebugName(mVertexBuffer, "Clear11 masked clear vertex buffer");
const D3D11_INPUT_ELEMENT_DESC ilDesc = {
"POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0};
const size_t ilDescArraySize = 1;
d3d11::SetDebugName(mRasterizerState, "Clear11 masked clear rasterizer state");
// TODO (Shahmeer Esmail): As a potential performance optimizations, evaluate use of a single
// color floatClear shader that can be used where only one RT needs to be cleared or alpha
// correction isn't required.
if (mRenderer->getRenderer11DeviceCaps().featureLevel <= D3D_FEATURE_LEVEL_9_3)
{
mFloatClearShader =
new ClearShader(&ilDesc, ilDescArraySize, "Clear11 IL", g_VS_ClearAnyType,
ArraySize(g_VS_ClearAnyType), "Clear11 VS", g_PS_ClearFloat_FL9,
ArraySize(g_PS_ClearFloat_FL9), "Clear11 Float PS FL93");
new ClearShader(DXGI_FORMAT_R32G32B32A32_FLOAT, "Clear11 Float IL", g_VS_ClearFloat,
ArraySize(g_VS_ClearFloat), "Clear11 Float VS", g_PS_ClearFloat_FL9,
ArraySize(g_PS_ClearFloat_FL9), "Clear11 Float PS");
}
else
{
mFloatClearShader = new ClearShader(
&ilDesc, ilDescArraySize, "Clear11 IL", g_VS_ClearAnyType, ArraySize(g_VS_ClearAnyType),
"Clear11 VS", g_PS_ClearFloat, ArraySize(g_PS_ClearFloat), "Clear11 Float PS");
mFloatClearShader =
new ClearShader(DXGI_FORMAT_R32G32B32A32_FLOAT, "Clear11 Float IL", g_VS_ClearFloat,
ArraySize(g_VS_ClearFloat), "Clear11 Float VS", g_PS_ClearFloat,
ArraySize(g_PS_ClearFloat), "Clear11 Float PS");
}
if (renderer->isES3Capable())
{
mUintClearShader = new ClearShader(
&ilDesc, ilDescArraySize, "Clear11 IL", g_VS_ClearAnyType, ArraySize(g_VS_ClearAnyType),
"Clear11 VS", g_PS_ClearUint, ArraySize(g_PS_ClearUint), "Clear11 UINT PS");
mIntClearShader = new ClearShader(
&ilDesc, ilDescArraySize, "Clear11 IL", g_VS_ClearAnyType, ArraySize(g_VS_ClearAnyType),
"Clear11 VS", g_PS_ClearSint, ArraySize(g_PS_ClearSint), "Clear11 SINT PS");
mUintClearShader =
new ClearShader(DXGI_FORMAT_R32G32B32A32_UINT, "Clear11 UINT IL", g_VS_ClearUint,
ArraySize(g_VS_ClearUint), "Clear11 UINT VS", g_PS_ClearUint,
ArraySize(g_PS_ClearUint), "Clear11 UINT PS");
mIntClearShader =
new ClearShader(DXGI_FORMAT_R32G32B32A32_UINT, "Clear11 SINT IL", g_VS_ClearSint,
ArraySize(g_VS_ClearSint), "Clear11 SINT VS", g_PS_ClearSint,
ArraySize(g_PS_ClearSint), "Clear11 SINT PS");
}
}
Clear11::~Clear11()
{
for (ClearBlendStateMap::iterator i = mClearBlendStates.begin(); i != mClearBlendStates.end();
i++)
{
SafeRelease(i->second);
}
mClearBlendStates.clear();
SafeDelete(mFloatClearShader);
SafeDelete(mUintClearShader);
SafeDelete(mIntClearShader);
......@@ -271,6 +187,9 @@ Clear11::~Clear11()
SafeRelease(i->second);
}
mClearDepthStencilStates.clear();
SafeRelease(mVertexBuffer);
SafeRelease(mRasterizerState);
}
gl::Error Clear11::clearFramebuffer(const ClearParameters &clearParams,
......@@ -361,7 +280,6 @@ gl::Error Clear11::clearFramebuffer(const ClearParameters &clearParams,
ANGLE_TRY(attachment.getRenderTarget(&renderTarget));
const gl::InternalFormat &formatInfo = *attachment.getFormat().info;
const auto &nativeFormat = renderTarget->getFormatSet().format();
if (clearParams.colorClearType == GL_FLOAT &&
!(formatInfo.componentType == GL_FLOAT ||
......@@ -393,28 +311,14 @@ gl::Error Clear11::clearFramebuffer(const ClearParameters &clearParams,
{
// A masked clear is required, or a scissored clear is required and
// ID3D11DeviceContext1::ClearView is unavailable
MaskedRenderTarget rtData;
if (clearParams.colorClearType == GL_FLOAT)
{
if ((formatInfo.alphaBits == 0 && nativeFormat.alphaBits > 0))
{
rtData.alphaOverride = 1.0f;
}
else if (formatInfo.alphaBits == 1)
{
rtData.alphaOverride =
AdjustAlphaFor1BitOutput(clearParams.colorFClearValue.alpha);
}
else
{
rtData.alphaOverride = clearParams.colorFClearValue.alpha;
}
}
rtData.renderTarget = renderTarget;
maskedClearRenderTargets.push_back(rtData);
MaskedRenderTarget maskAndRt;
bool clearColor = clearParams.clearColor[colorAttachmentIndex];
maskAndRt.colorMask[0] = (clearColor && clearParams.colorMaskRed);
maskAndRt.colorMask[1] = (clearColor && clearParams.colorMaskGreen);
maskAndRt.colorMask[2] = (clearColor && clearParams.colorMaskBlue);
maskAndRt.colorMask[3] = (clearColor && clearParams.colorMaskAlpha);
maskAndRt.renderTarget = renderTarget;
maskedClearRenderTargets.push_back(maskAndRt);
}
else
{
......@@ -428,6 +332,8 @@ gl::Error Clear11::clearFramebuffer(const ClearParameters &clearParams,
"Internal render target view pointer unexpectedly null.");
}
const auto &nativeFormat = renderTarget->getFormatSet().format();
// Check if the actual format has a channel that the internal format does not and
// set them to the default values
float clearValues[4] = {
......@@ -447,7 +353,10 @@ gl::Error Clear11::clearFramebuffer(const ClearParameters &clearParams,
if (formatInfo.alphaBits == 1)
{
clearValues[3] = AdjustAlphaFor1BitOutput(clearParams.colorFClearValue.alpha);
// Some drivers do not correctly handle calling Clear() on a format with 1-bit
// alpha. They can incorrectly round all non-zero values up to 1.0f. Note that
// WARP does not do this. We should handle the rounding for them instead.
clearValues[3] = (clearParams.colorFClearValue.alpha >= 0.5f) ? 1.0f : 0.0f;
}
if (needScissoredClear)
......@@ -571,47 +480,49 @@ gl::Error Clear11::clearFramebuffer(const ClearParameters &clearParams,
ID3D11DepthStencilView *dsv =
maskedClearDepthStencil ? maskedClearDepthStencil->getDepthStencilView() : nullptr;
const FLOAT blendFactors[4] = {
clearParams.colorMaskRed ? 1.0f : 0.0f, clearParams.colorMaskGreen ? 1.0f : 0.0f,
clearParams.colorMaskBlue ? 1.0f : 0.0f, clearParams.colorMaskAlpha ? 1.0f : 0.0f};
ID3D11BlendState *blendState = getBlendState(maskedClearRenderTargets);
const FLOAT blendFactors[4] = {1.0f, 1.0f, 1.0f, 1.0f};
const UINT sampleMask = 0xFFFFFFFF;
ID3D11DepthStencilState *dsState = getDepthStencilState(clearParams);
const UINT stencilClear = clearParams.stencilClearValue & 0xFF;
// Set the clear color(s) and depth value
// Set the vertices
UINT vertexStride = 0;
const UINT startIdx = 0;
ClearShader *shader = nullptr;
D3D11_MAPPED_SUBRESOURCE mappedResource;
HRESULT result = deviceContext->Map(mColorAndDepthDataBuffer.Get(), 0, D3D11_MAP_WRITE_DISCARD,
0, &mappedResource);
HRESULT result =
deviceContext->Map(mVertexBuffer, 0, D3D11_MAP_WRITE_DISCARD, 0, &mappedResource);
if (FAILED(result))
{
return gl::Error(GL_OUT_OF_MEMORY,
"Failed to map internal masked clear constant buffer, HRESULT: 0x%X.",
"Failed to map internal masked clear vertex buffer, HRESULT: 0x%X.",
result);
}
const gl::Rectangle *scissorPtr = clearParams.scissorEnabled ? &clearParams.scissor : nullptr;
switch (clearParams.colorClearType)
{
case GL_FLOAT:
// TODO (Shahmeer Esmail): Evaluate performance impact of using a single-color clear
// instead of a multi-color clear
ApplyAdjustedColorAndDepthData(clearParams.colorFClearValue, maskedClearRenderTargets,
clearParams.depthClearValue, mappedResource.pData);
shader = mFloatClearShader;
ApplyVertices(framebufferSize, scissorPtr, clearParams.colorFClearValue,
clearParams.depthClearValue, mappedResource.pData);
vertexStride = sizeof(d3d11::PositionDepthColorVertex<float>);
shader = mFloatClearShader;
break;
case GL_UNSIGNED_INT:
ApplyColorAndDepthData(clearParams.colorUIClearValue, clearParams.depthClearValue,
mappedResource.pData);
shader = mUintClearShader;
ApplyVertices(framebufferSize, scissorPtr, clearParams.colorUIClearValue,
clearParams.depthClearValue, mappedResource.pData);
vertexStride = sizeof(d3d11::PositionDepthColorVertex<unsigned int>);
shader = mUintClearShader;
break;
case GL_INT:
ApplyColorAndDepthData(clearParams.colorIClearValue, clearParams.depthClearValue,
mappedResource.pData);
shader = mIntClearShader;
ApplyVertices(framebufferSize, scissorPtr, clearParams.colorIClearValue,
clearParams.depthClearValue, mappedResource.pData);
vertexStride = sizeof(d3d11::PositionDepthColorVertex<int>);
shader = mIntClearShader;
break;
default:
......@@ -619,7 +530,7 @@ gl::Error Clear11::clearFramebuffer(const ClearParameters &clearParams,
break;
}
deviceContext->Unmap(mColorAndDepthDataBuffer.Get(), 0);
deviceContext->Unmap(mVertexBuffer, 0);
// Set the viewport to be the same size as the framebuffer
D3D11_VIEWPORT viewport;
......@@ -631,39 +542,22 @@ gl::Error Clear11::clearFramebuffer(const ClearParameters &clearParams,
viewport.MaxDepth = 1;
deviceContext->RSSetViewports(1, &viewport);
if (needScissoredClear)
{
D3D11_RECT scissorRect;
scissorRect.top = clearParams.scissor.y;
scissorRect.bottom = clearParams.scissor.y + clearParams.scissor.height;
scissorRect.left = clearParams.scissor.x;
scissorRect.right = clearParams.scissor.x + clearParams.scissor.width;
deviceContext->RSSetScissorRects(1, &scissorRect);
}
// Set state
deviceContext->OMSetBlendState(mBlendState.Get(), blendFactors, sampleMask);
// Apply state
deviceContext->OMSetBlendState(blendState, blendFactors, sampleMask);
deviceContext->OMSetDepthStencilState(dsState, stencilClear);
deviceContext->RSSetState(needScissoredClear ? mScissorEnabledRasterizerState.Get()
: mScissorDisabledRasterizerState.Get());
deviceContext->RSSetState(mRasterizerState);
// Bind constant buffer
deviceContext->PSSetConstantBuffers(0, 1, mColorAndDepthDataBuffer.GetAddressOf());
// Bind shaders
// Apply shaders
deviceContext->IASetInputLayout(shader->inputLayout->resolve(device));
deviceContext->VSSetShader(shader->vertexShader.resolve(device), nullptr, 0);
deviceContext->PSSetShader(shader->pixelShader.resolve(device), nullptr, 0);
deviceContext->GSSetShader(nullptr, nullptr, 0);
const UINT vertexStride = sizeof(d3d11::PositionVertex);
const UINT startIdx = 0;
deviceContext->IASetInputLayout(shader->inputLayout.resolve(device));
deviceContext->IASetVertexBuffers(0, 1, mVertexBuffer.GetAddressOf(), &vertexStride, &startIdx);
// Apply vertex buffer
deviceContext->IASetVertexBuffers(0, 1, &mVertexBuffer, &vertexStride, &startIdx);
deviceContext->IASetPrimitiveTopology(D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP);
// Bind render target(s) and depthStencil buffer
// Apply render targets
mRenderer->getStateManager()->setOneTimeRenderTargets(rtvs, dsv);
// Draw the clear quad
......@@ -675,6 +569,65 @@ gl::Error Clear11::clearFramebuffer(const ClearParameters &clearParams,
return gl::NoError();
}
ID3D11BlendState *Clear11::getBlendState(const std::vector<MaskedRenderTarget> &rts)
{
ClearBlendInfo blendKey = {};
for (unsigned int i = 0; i < D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT; i++)
{
if (i < rts.size())
{
RenderTarget11 *rt = rts[i].renderTarget;
const gl::InternalFormat &formatInfo =
gl::GetInternalFormatInfo(rt->getInternalFormat());
blendKey.maskChannels[i][0] = (rts[i].colorMask[0] && formatInfo.redBits > 0);
blendKey.maskChannels[i][1] = (rts[i].colorMask[1] && formatInfo.greenBits > 0);
blendKey.maskChannels[i][2] = (rts[i].colorMask[2] && formatInfo.blueBits > 0);
blendKey.maskChannels[i][3] = (rts[i].colorMask[3] && formatInfo.alphaBits > 0);
}
else
{
blendKey.maskChannels[i][0] = false;
blendKey.maskChannels[i][1] = false;
blendKey.maskChannels[i][2] = false;
blendKey.maskChannels[i][3] = false;
}
}
ClearBlendStateMap::const_iterator i = mClearBlendStates.find(blendKey);
if (i != mClearBlendStates.end())
{
return i->second;
}
else
{
D3D11_BLEND_DESC blendDesc = {0};
blendDesc.AlphaToCoverageEnable = FALSE;
blendDesc.IndependentBlendEnable = (rts.size() > 1) ? TRUE : FALSE;
for (unsigned int j = 0; j < D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT; j++)
{
blendDesc.RenderTarget[j].BlendEnable = FALSE;
blendDesc.RenderTarget[j].RenderTargetWriteMask = gl_d3d11::ConvertColorMask(
blendKey.maskChannels[j][0], blendKey.maskChannels[j][1],
blendKey.maskChannels[j][2], blendKey.maskChannels[j][3]);
}
ID3D11Device *device = mRenderer->getDevice();
ID3D11BlendState *blendState = nullptr;
HRESULT result = device->CreateBlendState(&blendDesc, &blendState);
if (FAILED(result) || !blendState)
{
ERR() << "Unable to create a ID3D11BlendState, " << gl::FmtHR(result) << ".";
return nullptr;
}
mClearBlendStates[blendKey] = blendState;
return blendState;
}
}
ID3D11DepthStencilState *Clear11::getDepthStencilState(const ClearParameters &clearParams)
{
ClearDepthStencilInfo dsKey = {0};
......
......@@ -23,14 +23,6 @@ class Renderer11;
class RenderTarget11;
struct ClearParameters;
struct MaskedRenderTarget
{
// Corrected alpha clear value
float alphaOverride;
// RenderTarget info
RenderTarget11 *renderTarget;
};
class Clear11 : angle::NonCopyable
{
public:
......@@ -42,20 +34,19 @@ class Clear11 : angle::NonCopyable
const gl::FramebufferState &fboData);
private:
struct MaskedRenderTarget
{
bool colorMask[4];
RenderTarget11 *renderTarget;
};
ID3D11BlendState *getBlendState(const std::vector<MaskedRenderTarget> &rts);
ID3D11DepthStencilState *getDepthStencilState(const ClearParameters &clearParams);
struct ClearShader final : public angle::NonCopyable
{
ClearShader(const BYTE *vsByteCode,
size_t vsSize,
const char *vsDebugName,
const BYTE *psByteCode,
size_t psSize,
const char *psDebugName);
ClearShader(const D3D11_INPUT_ELEMENT_DESC *ilDesc,
size_t ilSize,
const char *ilDebugName,
ClearShader(DXGI_FORMAT colorType,
const char *inputLayoutName,
const BYTE *vsByteCode,
size_t vsSize,
const char *vsDebugName,
......@@ -64,7 +55,7 @@ class Clear11 : angle::NonCopyable
const char *psDebugName);
~ClearShader();
d3d11::LazyInputLayout inputLayout;
d3d11::LazyInputLayout *inputLayout;
d3d11::LazyShader<ID3D11VertexShader> vertexShader;
d3d11::LazyShader<ID3D11PixelShader> pixelShader;
};
......@@ -72,6 +63,13 @@ class Clear11 : angle::NonCopyable
template <unsigned int vsSize, unsigned int psSize>
static ClearShader CreateClearShader(ID3D11Device *device, DXGI_FORMAT colorType, const BYTE(&vsByteCode)[vsSize], const BYTE(&psByteCode)[psSize]);
struct ClearBlendInfo
{
bool maskChannels[D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT][4];
};
typedef bool(*ClearBlendInfoComparisonFunction)(const ClearBlendInfo&, const ClearBlendInfo &);
typedef std::map<ClearBlendInfo, ID3D11BlendState*, ClearBlendInfoComparisonFunction> ClearBlendStateMap;
struct ClearDepthStencilInfo
{
bool clearDepth;
......@@ -83,17 +81,16 @@ class Clear11 : angle::NonCopyable
Renderer11 *mRenderer;
ClearBlendStateMap mClearBlendStates;
ClearShader *mFloatClearShader;
ClearShader *mUintClearShader;
ClearShader *mIntClearShader;
ClearDepthStencilStateMap mClearDepthStencilStates;
angle::ComPtr<ID3D11Buffer> mVertexBuffer;
angle::ComPtr<ID3D11Buffer> mColorAndDepthDataBuffer;
angle::ComPtr<ID3D11RasterizerState> mScissorEnabledRasterizerState;
angle::ComPtr<ID3D11RasterizerState> mScissorDisabledRasterizerState;
angle::ComPtr<ID3D11BlendState> mBlendState;
ID3D11Buffer *mVertexBuffer;
ID3D11RasterizerState *mRasterizerState;
};
}
......
......@@ -882,9 +882,9 @@ void Renderer11::populateRenderer11DeviceCaps()
sizeof(D3D11_FEATURE_DATA_D3D11_OPTIONS));
if (SUCCEEDED(result))
{
mRenderer11DeviceCaps.supportsClearView = (d3d11Options.ClearView == TRUE);
mRenderer11DeviceCaps.supportsClearView = (d3d11Options.ClearView != FALSE);
mRenderer11DeviceCaps.supportsConstantBufferOffsets =
(d3d11Options.ConstantBufferOffsetting == TRUE);
(d3d11Options.ConstantBufferOffsetting != FALSE);
}
}
......
......@@ -1886,17 +1886,14 @@ LazyInputLayout::LazyInputLayout(const D3D11_INPUT_ELEMENT_DESC *inputDesc,
mByteCode(byteCode),
mDebugName(debugName)
{
if (inputDesc)
{
memcpy(&mInputDesc[0], inputDesc, sizeof(D3D11_INPUT_ELEMENT_DESC) * inputDescLen);
}
memcpy(&mInputDesc[0], inputDesc, sizeof(D3D11_INPUT_ELEMENT_DESC) * inputDescLen);
}
ID3D11InputLayout *LazyInputLayout::resolve(ID3D11Device *device)
{
checkAssociatedDevice(device);
if (mByteCode != nullptr && mResource == nullptr)
if (mResource == nullptr)
{
HRESULT result =
device->CreateInputLayout(&mInputDesc[0], static_cast<UINT>(mInputDesc.size()),
......
......@@ -112,11 +112,26 @@ struct PositionLayerTexCoord3DVertex
void SetPositionLayerTexCoord3DVertex(PositionLayerTexCoord3DVertex* vertex, float x, float y,
unsigned int layer, float u, float v, float s);
struct PositionVertex
template <typename T>
struct PositionDepthColorVertex
{
float x, y, z, w;
float x, y, z;
T r, g, b, a;
};
template <typename T>
void SetPositionDepthColorVertex(PositionDepthColorVertex<T>* vertex, float x, float y, float z,
const gl::Color<T> &color)
{
vertex->x = x;
vertex->y = y;
vertex->z = z;
vertex->r = color.red;
vertex->g = color.green;
vertex->b = color.blue;
vertex->a = color.alpha;
}
HRESULT SetDebugName(ID3D11DeviceChild *resource, const char *name);
template <typename T>
......
//
// Copyright (c) 2017 The ANGLE Project. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Assume we are in SM4+, which has 8 color outputs
// Clear11.hlsl: Vertex and Pixel shaders for clearing RTVs and DSVs using
// draw calls and specifying float depth values and clear colors as either
// float, uint or sint. Notes:
// - UINT & SINT clears can only be compiled with FL10+.
// - VS_ClearAnyType_FL9 requires a VB to be bound with vertices
// defining a quad covering entire surface (in clip co-ordinates)
// - VS_ClearAnyType_FL9 used for all pixel shaders defined here
// Vertex Shader
// TODO (Shahmeer Esmail): Use SV_VertexID to generate quad (for FL10+) to
// avoid having to rely on a VB to be generated/bound
void VS_ClearAnyType( in float4 inPosition : POSITION,
out float4 outPosition : SV_POSITION)
{
outPosition = inPosition;
}
// Pixel Shader Constant Buffers
cbuffer ColorAndDepthDataFloat : register(b0)
void VS_ClearFloat( in float3 inPosition : POSITION, in float4 inColor : COLOR,
out float4 outPosition : SV_POSITION, out float4 outColor : COLOR)
{
float4 color_Float : packoffset(c0);
float zValueF_Float : packoffset(c1.x);
float a1_Float : packoffset(c1.y);
float a2_Float : packoffset(c1.z);
float a3_Float : packoffset(c1.w);
float a4_Float : packoffset(c2.x);
float a5_Float : packoffset(c2.y);
float a6_Float : packoffset(c2.z);
float a7_Float : packoffset(c2.w);
outPosition = float4(inPosition, 1.0f);
outColor = inColor;
}
cbuffer ColorAndDepthDataSint : register(b0)
struct PS_OutputFloat
{
int4 color_Sint : packoffset(c0);
float zValueF_Sint : packoffset(c1.x);
}
float4 color0 : SV_TARGET0;
float4 color1 : SV_TARGET1;
float4 color2 : SV_TARGET2;
float4 color3 : SV_TARGET3;
float4 color4 : SV_TARGET4;
float4 color5 : SV_TARGET5;
float4 color6 : SV_TARGET6;
float4 color7 : SV_TARGET7;
};
cbuffer ColorAndDepthDataUint : register(b0)
PS_OutputFloat PS_ClearFloat(in float4 inPosition : SV_POSITION, in float4 inColor : COLOR)
{
uint4 color_Uint : packoffset(c0);
float zValueF_Uint : packoffset(c1.x);
PS_OutputFloat outColor;
outColor.color0 = inColor;
outColor.color1 = inColor;
outColor.color2 = inColor;
outColor.color3 = inColor;
outColor.color4 = inColor;
outColor.color5 = inColor;
outColor.color6 = inColor;
outColor.color7 = inColor;
return outColor;
}
// Pixel Shader Output Structs
struct PS_OutputFloat_FL9
{
float4 color0 : SV_TARGET0;
float4 color1 : SV_TARGET1;
float4 color2 : SV_TARGET2;
float4 color3 : SV_TARGET3;
float depth : SV_DEPTH;
};
struct PS_OutputFloat
PS_OutputFloat_FL9 PS_ClearFloat_FL9(in float4 inPosition : SV_POSITION, in float4 inColor : COLOR)
{
float4 color0 : SV_TARGET0;
float4 color1 : SV_TARGET1;
float4 color2 : SV_TARGET2;
float4 color3 : SV_TARGET3;
float4 color4 : SV_TARGET4;
float4 color5 : SV_TARGET5;
float4 color6 : SV_TARGET6;
float4 color7 : SV_TARGET7;
float depth : SV_DEPTH;
};
PS_OutputFloat_FL9 outColor;
outColor.color0 = inColor;
outColor.color1 = inColor;
outColor.color2 = inColor;
outColor.color3 = inColor;
return outColor;
}
void VS_ClearUint( in float3 inPosition : POSITION, in uint4 inColor : COLOR,
out float4 outPosition : SV_POSITION, out uint4 outColor : COLOR)
{
outPosition = float4(inPosition, 1.0f);
outColor = inColor;
}
struct PS_OutputUint
{
......@@ -81,9 +68,30 @@ struct PS_OutputUint
uint4 color5 : SV_TARGET5;
uint4 color6 : SV_TARGET6;
uint4 color7 : SV_TARGET7;
float depth : SV_DEPTH;
};
PS_OutputUint PS_ClearUint(in float4 inPosition : SV_POSITION, in uint4 inColor : COLOR)
{
PS_OutputUint outColor;
outColor.color0 = inColor;
outColor.color1 = inColor;
outColor.color2 = inColor;
outColor.color3 = inColor;
outColor.color4 = inColor;
outColor.color5 = inColor;
outColor.color6 = inColor;
outColor.color7 = inColor;
return outColor;
}
void VS_ClearSint( in float3 inPosition : POSITION, in int4 inColor : COLOR,
out float4 outPosition : SV_POSITION, out int4 outColor : COLOR)
{
outPosition = float4(inPosition, 1.0f);
outColor = inColor;
}
struct PS_OutputSint
{
int4 color0 : SV_TARGET0;
......@@ -94,63 +102,18 @@ struct PS_OutputSint
int4 color5 : SV_TARGET5;
int4 color6 : SV_TARGET6;
int4 color7 : SV_TARGET7;
float depth : SV_DEPTH;
};
// Pixel Shaders (FL_9)
PS_OutputFloat_FL9 PS_ClearFloat_FL9(in float4 inPosition : SV_POSITION)
{
PS_OutputFloat_FL9 outColorsAndDepth;
outColorsAndDepth.color0 = color_Float;
outColorsAndDepth.color1 = float4(color_Float.xyz, a1_Float);
outColorsAndDepth.color2 = float4(color_Float.xyz, a2_Float);
outColorsAndDepth.color3 = float4(color_Float.xyz, a3_Float);
outColorsAndDepth.depth = zValueF_Float;
return outColorsAndDepth;
}
// Pixel Shaders (FL_10+)
PS_OutputFloat PS_ClearFloat(in float4 inPosition : SV_POSITION)
{
PS_OutputFloat outColorsAndDepth;
outColorsAndDepth.color0 = color_Float;
outColorsAndDepth.color1 = float4(color_Float.xyz, a1_Float);
outColorsAndDepth.color2 = float4(color_Float.xyz, a2_Float);
outColorsAndDepth.color3 = float4(color_Float.xyz, a3_Float);
outColorsAndDepth.color4 = float4(color_Float.xyz, a4_Float);
outColorsAndDepth.color5 = float4(color_Float.xyz, a5_Float);
outColorsAndDepth.color6 = float4(color_Float.xyz, a6_Float);
outColorsAndDepth.color7 = float4(color_Float.xyz, a7_Float);
outColorsAndDepth.depth = zValueF_Float;
return outColorsAndDepth;
}
PS_OutputUint PS_ClearUint(in float4 inPosition : SV_POSITION)
{
PS_OutputUint outData;
outData.color0 = color_Uint;
outData.color1 = color_Uint;
outData.color2 = color_Uint;
outData.color3 = color_Uint;
outData.color4 = color_Uint;
outData.color5 = color_Uint;
outData.color6 = color_Uint;
outData.color7 = color_Uint;
outData.depth = zValueF_Uint;
return outData;
}
PS_OutputSint PS_ClearSint(in float4 inPosition : SV_POSITION)
PS_OutputSint PS_ClearSint(in float4 inPosition : SV_POSITION, in int4 inColor : COLOR)
{
PS_OutputSint outData;
outData.color0 = color_Sint;
outData.color1 = color_Sint;
outData.color2 = color_Sint;
outData.color3 = color_Sint;
outData.color4 = color_Sint;
outData.color5 = color_Sint;
outData.color6 = color_Sint;
outData.color7 = color_Sint;
outData.depth = zValueF_Sint;
return outData;
PS_OutputSint outColor;
outColor.color0 = inColor;
outColor.color1 = inColor;
outColor.color2 = inColor;
outColor.color3 = inColor;
outColor.color4 = inColor;
outColor.color5 = inColor;
outColor.color6 = inColor;
outColor.color7 = inColor;
return outColor;
}
......@@ -3,37 +3,13 @@
// Generated by Microsoft (R) HLSL Shader Compiler 6.3.9600.16384
//
//
// Buffer Definitions:
//
// cbuffer ColorAndDepthDataFloat
// {
//
// float4 color_Float; // Offset: 0 Size: 16
// float zValueF_Float; // Offset: 16 Size: 4
// float a1_Float; // Offset: 20 Size: 4
// float a2_Float; // Offset: 24 Size: 4
// float a3_Float; // Offset: 28 Size: 4
// float a4_Float; // Offset: 32 Size: 4 [unused]
// float a5_Float; // Offset: 36 Size: 4 [unused]
// float a6_Float; // Offset: 40 Size: 4 [unused]
// float a7_Float; // Offset: 44 Size: 4 [unused]
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// ColorAndDepthDataFloat cbuffer NA NA 0 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION 0 xyzw 0 POS float
// COLOR 0 xyzw 1 NONE float xyzw
//
//
// Output signature:
......@@ -44,144 +20,91 @@
// SV_TARGET 1 xyzw 1 TARGET float xyzw
// SV_TARGET 2 xyzw 2 TARGET float xyzw
// SV_TARGET 3 xyzw 3 TARGET float xyzw
// SV_DEPTH 0 N/A oDepth DEPTH float YES
//
//
// Constant buffer to DX9 shader constant mappings:
//
// Target Reg Buffer Start Reg # of Regs Data Conversion
// ---------- ------- --------- --------- ----------------------
// c0 cb0 0 2 ( FLT, FLT, FLT, FLT)
//
//
// Level9 shader bytecode:
//
ps_2_x
mov oC0, c0
mov r0.xyz, c0
mov r0.w, c1.y
mov oC1, r0
mov r0.xyz, c0
mov r0.w, c1.z
mov oC2, r0
mov r0.xyz, c0
mov r0.w, c1.w
mov oC3, r0
mov oDepth, c1.x
dcl t0
mov oC0, t0
mov oC1, t0
mov oC2, t0
mov oC3, t0
// approximately 11 instruction slots used
// approximately 4 instruction slots used
ps_4_0
dcl_constantbuffer cb0[2], immediateIndexed
dcl_input_ps linear v1.xyzw
dcl_output o0.xyzw
dcl_output o1.xyzw
dcl_output o2.xyzw
dcl_output o3.xyzw
dcl_output oDepth
mov o0.xyzw, cb0[0].xyzw
mov o1.xyz, cb0[0].xyzx
mov o1.w, cb0[1].y
mov o2.xyz, cb0[0].xyzx
mov o2.w, cb0[1].z
mov o3.xyz, cb0[0].xyzx
mov o3.w, cb0[1].w
mov oDepth, cb0[1].x
mov o0.xyzw, v1.xyzw
mov o1.xyzw, v1.xyzw
mov o2.xyzw, v1.xyzw
mov o3.xyzw, v1.xyzw
ret
// Approximately 9 instruction slots used
// Approximately 5 instruction slots used
#endif
const BYTE g_PS_ClearFloat_FL9[] =
{
68, 88, 66, 67, 138, 71,
172, 221, 250, 165, 207, 155,
204, 94, 235, 253, 71, 11,
111, 9, 1, 0, 0, 0,
92, 5, 0, 0, 6, 0,
68, 88, 66, 67, 36, 167,
59, 21, 253, 46, 206, 132,
254, 28, 18, 118, 51, 115,
45, 31, 1, 0, 0, 0,
236, 2, 0, 0, 6, 0,
0, 0, 56, 0, 0, 0,
252, 0, 0, 0, 20, 2,
0, 0, 144, 2, 0, 0,
140, 4, 0, 0, 192, 4,
168, 0, 0, 0, 72, 1,
0, 0, 196, 1, 0, 0,
28, 2, 0, 0, 112, 2,
0, 0, 65, 111, 110, 57,
188, 0, 0, 0, 188, 0,
104, 0, 0, 0, 104, 0,
0, 0, 0, 2, 255, 255,
140, 0, 0, 0, 48, 0,
0, 0, 1, 0, 36, 0,
0, 0, 48, 0, 0, 0,
48, 0, 0, 0, 36, 0,
0, 0, 48, 0, 0, 0,
0, 0, 2, 0, 0, 0,
0, 0, 0, 0, 1, 2,
255, 255, 1, 0, 0, 2,
68, 0, 0, 0, 36, 0,
0, 0, 0, 0, 36, 0,
0, 0, 36, 0, 0, 0,
36, 0, 0, 0, 36, 0,
0, 0, 36, 0, 1, 2,
255, 255, 31, 0, 0, 2,
0, 0, 0, 128, 0, 0,
15, 176, 1, 0, 0, 2,
0, 8, 15, 128, 0, 0,
228, 160, 1, 0, 0, 2,
0, 0, 7, 128, 0, 0,
228, 160, 1, 0, 0, 2,
0, 0, 8, 128, 1, 0,
85, 160, 1, 0, 0, 2,
228, 176, 1, 0, 0, 2,
1, 8, 15, 128, 0, 0,
228, 128, 1, 0, 0, 2,
0, 0, 7, 128, 0, 0,
228, 160, 1, 0, 0, 2,
0, 0, 8, 128, 1, 0,
170, 160, 1, 0, 0, 2,
228, 176, 1, 0, 0, 2,
2, 8, 15, 128, 0, 0,
228, 128, 1, 0, 0, 2,
0, 0, 7, 128, 0, 0,
228, 160, 1, 0, 0, 2,
0, 0, 8, 128, 1, 0,
255, 160, 1, 0, 0, 2,
228, 176, 1, 0, 0, 2,
3, 8, 15, 128, 0, 0,
228, 128, 1, 0, 0, 2,
0, 8, 15, 144, 1, 0,
0, 160, 255, 255, 0, 0,
83, 72, 68, 82, 16, 1,
228, 176, 255, 255, 0, 0,
83, 72, 68, 82, 152, 0,
0, 0, 64, 0, 0, 0,
68, 0, 0, 0, 89, 0,
0, 4, 70, 142, 32, 0,
0, 0, 0, 0, 2, 0,
0, 0, 101, 0, 0, 3,
242, 32, 16, 0, 0, 0,
0, 0, 101, 0, 0, 3,
242, 32, 16, 0, 1, 0,
0, 0, 101, 0, 0, 3,
38, 0, 0, 0, 98, 16,
0, 3, 242, 16, 16, 0,
1, 0, 0, 0, 101, 0,
0, 3, 242, 32, 16, 0,
0, 0, 0, 0, 101, 0,
0, 3, 242, 32, 16, 0,
1, 0, 0, 0, 101, 0,
0, 3, 242, 32, 16, 0,
2, 0, 0, 0, 101, 0,
0, 3, 242, 32, 16, 0,
3, 0, 0, 0, 54, 0,
0, 5, 242, 32, 16, 0,
0, 0, 0, 0, 70, 30,
16, 0, 1, 0, 0, 0,
54, 0, 0, 5, 242, 32,
16, 0, 1, 0, 0, 0,
70, 30, 16, 0, 1, 0,
0, 0, 54, 0, 0, 5,
242, 32, 16, 0, 2, 0,
0, 0, 101, 0, 0, 3,
242, 32, 16, 0, 3, 0,
0, 0, 101, 0, 0, 2,
1, 192, 0, 0, 54, 0,
0, 6, 242, 32, 16, 0,
0, 0, 0, 0, 70, 142,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 54, 0,
0, 6, 114, 32, 16, 0,
1, 0, 0, 0, 70, 130,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 54, 0,
0, 6, 130, 32, 16, 0,
1, 0, 0, 0, 26, 128,
32, 0, 0, 0, 0, 0,
1, 0, 0, 0, 54, 0,
0, 6, 114, 32, 16, 0,
2, 0, 0, 0, 70, 130,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 54, 0,
0, 6, 130, 32, 16, 0,
2, 0, 0, 0, 42, 128,
32, 0, 0, 0, 0, 0,
1, 0, 0, 0, 54, 0,
0, 6, 114, 32, 16, 0,
3, 0, 0, 0, 70, 130,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 54, 0,
0, 6, 130, 32, 16, 0,
3, 0, 0, 0, 58, 128,
32, 0, 0, 0, 0, 0,
0, 0, 70, 30, 16, 0,
1, 0, 0, 0, 54, 0,
0, 5, 1, 192, 0, 0,
10, 128, 32, 0, 0, 0,
0, 0, 1, 0, 0, 0,
0, 5, 242, 32, 16, 0,
3, 0, 0, 0, 70, 30,
16, 0, 1, 0, 0, 0,
62, 0, 0, 1, 83, 84,
65, 84, 116, 0, 0, 0,
9, 0, 0, 0, 0, 0,
5, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
5, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
......@@ -193,7 +116,7 @@ const BYTE g_PS_ClearFloat_FL9[] =
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 8, 0,
0, 0, 0, 0, 4, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
......@@ -201,123 +124,53 @@ const BYTE g_PS_ClearFloat_FL9[] =
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 82, 68, 69, 70,
244, 1, 0, 0, 1, 0,
0, 0, 84, 0, 0, 0,
1, 0, 0, 0, 28, 0,
80, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 28, 0,
0, 0, 0, 4, 255, 255,
0, 1, 0, 0, 191, 1,
0, 0, 60, 0, 0, 0,
0, 1, 0, 0, 28, 0,
0, 0, 77, 105, 99, 114,
111, 115, 111, 102, 116, 32,
40, 82, 41, 32, 72, 76,
83, 76, 32, 83, 104, 97,
100, 101, 114, 32, 67, 111,
109, 112, 105, 108, 101, 114,
32, 54, 46, 51, 46, 57,
54, 48, 48, 46, 49, 54,
51, 56, 52, 0, 171, 171,
73, 83, 71, 78, 76, 0,
0, 0, 2, 0, 0, 0,
8, 0, 0, 0, 56, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 3, 0,
0, 0, 0, 0, 0, 0,
15, 0, 0, 0, 68, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3, 0,
0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 67, 111,
108, 111, 114, 65, 110, 100,
68, 101, 112, 116, 104, 68,
97, 116, 97, 70, 108, 111,
97, 116, 0, 171, 60, 0,
0, 0, 9, 0, 0, 0,
108, 0, 0, 0, 48, 0,
15, 15, 0, 0, 83, 86,
95, 80, 79, 83, 73, 84,
73, 79, 78, 0, 67, 79,
76, 79, 82, 0, 171, 171,
79, 83, 71, 78, 116, 0,
0, 0, 4, 0, 0, 0,
8, 0, 0, 0, 104, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 68, 1,
0, 0, 0, 0, 3, 0,
0, 0, 0, 0, 0, 0,
16, 0, 0, 0, 2, 0,
0, 0, 80, 1, 0, 0,
0, 0, 0, 0, 96, 1,
0, 0, 16, 0, 0, 0,
4, 0, 0, 0, 2, 0,
0, 0, 112, 1, 0, 0,
0, 0, 0, 0, 128, 1,
0, 0, 20, 0, 0, 0,
4, 0, 0, 0, 2, 0,
0, 0, 112, 1, 0, 0,
0, 0, 0, 0, 137, 1,
0, 0, 24, 0, 0, 0,
4, 0, 0, 0, 2, 0,
0, 0, 112, 1, 0, 0,
0, 0, 0, 0, 146, 1,
0, 0, 28, 0, 0, 0,
4, 0, 0, 0, 2, 0,
0, 0, 112, 1, 0, 0,
0, 0, 0, 0, 155, 1,
0, 0, 32, 0, 0, 0,
4, 0, 0, 0, 0, 0,
0, 0, 112, 1, 0, 0,
0, 0, 0, 0, 164, 1,
0, 0, 36, 0, 0, 0,
4, 0, 0, 0, 0, 0,
0, 0, 112, 1, 0, 0,
0, 0, 0, 0, 173, 1,
0, 0, 40, 0, 0, 0,
4, 0, 0, 0, 0, 0,
0, 0, 112, 1, 0, 0,
0, 0, 0, 0, 182, 1,
0, 0, 44, 0, 0, 0,
4, 0, 0, 0, 0, 0,
0, 0, 112, 1, 0, 0,
0, 0, 0, 0, 99, 111,
108, 111, 114, 95, 70, 108,
111, 97, 116, 0, 1, 0,
3, 0, 1, 0, 4, 0,
0, 0, 0, 0, 0, 0,
0, 0, 122, 86, 97, 108,
117, 101, 70, 95, 70, 108,
111, 97, 116, 0, 171, 171,
0, 0, 3, 0, 1, 0,
1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 97, 49,
95, 70, 108, 111, 97, 116,
0, 97, 50, 95, 70, 108,
111, 97, 116, 0, 97, 51,
95, 70, 108, 111, 97, 116,
0, 97, 52, 95, 70, 108,
111, 97, 116, 0, 97, 53,
95, 70, 108, 111, 97, 116,
0, 97, 54, 95, 70, 108,
111, 97, 116, 0, 97, 55,
95, 70, 108, 111, 97, 116,
0, 77, 105, 99, 114, 111,
115, 111, 102, 116, 32, 40,
82, 41, 32, 72, 76, 83,
76, 32, 83, 104, 97, 100,
101, 114, 32, 67, 111, 109,
112, 105, 108, 101, 114, 32,
54, 46, 51, 46, 57, 54,
48, 48, 46, 49, 54, 51,
56, 52, 0, 171, 171, 171,
73, 83, 71, 78, 44, 0,
15, 0, 0, 0, 104, 0,
0, 0, 1, 0, 0, 0,
8, 0, 0, 0, 32, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 3, 0,
0, 0, 0, 0, 0, 0,
15, 0, 0, 0, 83, 86,
95, 80, 79, 83, 73, 84,
73, 79, 78, 0, 79, 83,
71, 78, 148, 0, 0, 0,
5, 0, 0, 0, 8, 0,
0, 0, 128, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 3, 0, 0, 0,
0, 0, 0, 0, 15, 0,
0, 0, 128, 0, 0, 0,
1, 0, 0, 0, 0, 0,
0, 0, 3, 0, 0, 0,
1, 0, 0, 0, 15, 0,
0, 0, 128, 0, 0, 0,
2, 0, 0, 0, 0, 0,
0, 0, 3, 0, 0, 0,
2, 0, 0, 0, 15, 0,
0, 0, 128, 0, 0, 0,
3, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3, 0,
0, 0, 1, 0, 0, 0,
15, 0, 0, 0, 104, 0,
0, 0, 2, 0, 0, 0,
0, 0, 0, 0, 3, 0,
0, 0, 2, 0, 0, 0,
15, 0, 0, 0, 104, 0,
0, 0, 3, 0, 0, 0,
3, 0, 0, 0, 15, 0,
0, 0, 138, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3, 0,
0, 0, 3, 0, 0, 0,
255, 255, 255, 255, 1, 14,
0, 0, 83, 86, 95, 84,
65, 82, 71, 69, 84, 0,
83, 86, 95, 68, 69, 80,
84, 72, 0, 171
15, 0, 0, 0, 83, 86,
95, 84, 65, 82, 71, 69,
84, 0, 171, 171
};
......@@ -3,37 +3,13 @@
// Generated by Microsoft (R) HLSL Shader Compiler 6.3.9600.16384
//
//
// Buffer Definitions:
//
// cbuffer ColorAndDepthDataFloat
// {
//
// float4 color_Float; // Offset: 0 Size: 16
// float zValueF_Float; // Offset: 16 Size: 4
// float a1_Float; // Offset: 20 Size: 4
// float a2_Float; // Offset: 24 Size: 4
// float a3_Float; // Offset: 28 Size: 4
// float a4_Float; // Offset: 32 Size: 4
// float a5_Float; // Offset: 36 Size: 4
// float a6_Float; // Offset: 40 Size: 4
// float a7_Float; // Offset: 44 Size: 4
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// ColorAndDepthDataFloat cbuffer NA NA 0 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION 0 xyzw 0 POS float
// COLOR 0 xyzw 1 NONE float xyzw
//
//
// Output signature:
......@@ -48,10 +24,9 @@
// SV_TARGET 5 xyzw 5 TARGET float xyzw
// SV_TARGET 6 xyzw 6 TARGET float xyzw
// SV_TARGET 7 xyzw 7 TARGET float xyzw
// SV_DEPTH 0 N/A oDepth DEPTH float YES
//
ps_4_0
dcl_constantbuffer cb0[3], immediateIndexed
dcl_input_ps linear v1.xyzw
dcl_output o0.xyzw
dcl_output o1.xyzw
dcl_output o2.xyzw
......@@ -60,279 +35,161 @@ dcl_output o4.xyzw
dcl_output o5.xyzw
dcl_output o6.xyzw
dcl_output o7.xyzw
dcl_output oDepth
mov o0.xyzw, cb0[0].xyzw
mov o1.xyz, cb0[0].xyzx
mov o1.w, cb0[1].y
mov o2.xyz, cb0[0].xyzx
mov o2.w, cb0[1].z
mov o3.xyz, cb0[0].xyzx
mov o3.w, cb0[1].w
mov o4.xyz, cb0[0].xyzx
mov o4.w, cb0[2].x
mov o5.xyz, cb0[0].xyzx
mov o5.w, cb0[2].y
mov o6.xyz, cb0[0].xyzx
mov o6.w, cb0[2].z
mov o7.xyz, cb0[0].xyzx
mov o7.w, cb0[2].w
mov oDepth, cb0[1].x
mov o0.xyzw, v1.xyzw
mov o1.xyzw, v1.xyzw
mov o2.xyzw, v1.xyzw
mov o3.xyzw, v1.xyzw
mov o4.xyzw, v1.xyzw
mov o5.xyzw, v1.xyzw
mov o6.xyzw, v1.xyzw
mov o7.xyzw, v1.xyzw
ret
// Approximately 17 instruction slots used
// Approximately 9 instruction slots used
#endif
const BYTE g_PS_ClearFloat[] =
{
68, 88, 66, 67, 183, 177,
204, 240, 235, 107, 235, 127,
38, 39, 75, 211, 229, 78,
93, 187, 1, 0, 0, 0,
228, 5, 0, 0, 5, 0,
68, 88, 66, 67, 19, 30,
102, 69, 166, 219, 165, 14,
173, 41, 171, 133, 144, 58,
14, 224, 1, 0, 0, 0,
88, 3, 0, 0, 5, 0,
0, 0, 52, 0, 0, 0,
48, 2, 0, 0, 100, 2,
0, 0, 96, 3, 0, 0,
104, 5, 0, 0, 82, 68,
69, 70, 244, 1, 0, 0,
1, 0, 0, 0, 84, 0,
0, 0, 1, 0, 0, 0,
28, 0, 0, 0, 0, 4,
255, 255, 0, 1, 0, 0,
191, 1, 0, 0, 60, 0,
0, 0, 0, 0, 0, 0,
140, 0, 0, 0, 224, 0,
0, 0, 188, 1, 0, 0,
220, 2, 0, 0, 82, 68,
69, 70, 80, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0,
28, 0, 0, 0, 0, 4,
255, 255, 0, 1, 0, 0,
28, 0, 0, 0, 77, 105,
99, 114, 111, 115, 111, 102,
116, 32, 40, 82, 41, 32,
72, 76, 83, 76, 32, 83,
104, 97, 100, 101, 114, 32,
67, 111, 109, 112, 105, 108,
101, 114, 32, 54, 46, 51,
46, 57, 54, 48, 48, 46,
49, 54, 51, 56, 52, 0,
171, 171, 73, 83, 71, 78,
76, 0, 0, 0, 2, 0,
0, 0, 8, 0, 0, 0,
56, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0,
67, 111, 108, 111, 114, 65,
110, 100, 68, 101, 112, 116,
104, 68, 97, 116, 97, 70,
108, 111, 97, 116, 0, 171,
60, 0, 0, 0, 9, 0,
0, 0, 108, 0, 0, 0,
48, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
68, 1, 0, 0, 0, 0,
0, 0, 16, 0, 0, 0,
2, 0, 0, 0, 80, 1,
0, 0, 0, 0, 0, 0,
96, 1, 0, 0, 16, 0,
0, 0, 4, 0, 0, 0,
2, 0, 0, 0, 112, 1,
0, 0, 0, 0, 0, 0,
128, 1, 0, 0, 20, 0,
0, 0, 4, 0, 0, 0,
2, 0, 0, 0, 112, 1,
0, 0, 0, 0, 0, 0,
137, 1, 0, 0, 24, 0,
0, 0, 4, 0, 0, 0,
2, 0, 0, 0, 112, 1,
0, 0, 0, 0, 0, 0,
146, 1, 0, 0, 28, 0,
0, 0, 4, 0, 0, 0,
2, 0, 0, 0, 112, 1,
3, 0, 0, 0, 0, 0,
0, 0, 15, 0, 0, 0,
68, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
155, 1, 0, 0, 32, 0,
0, 0, 4, 0, 0, 0,
2, 0, 0, 0, 112, 1,
3, 0, 0, 0, 1, 0,
0, 0, 15, 15, 0, 0,
83, 86, 95, 80, 79, 83,
73, 84, 73, 79, 78, 0,
67, 79, 76, 79, 82, 0,
171, 171, 79, 83, 71, 78,
212, 0, 0, 0, 8, 0,
0, 0, 8, 0, 0, 0,
200, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
164, 1, 0, 0, 36, 0,
0, 0, 4, 0, 0, 0,
2, 0, 0, 0, 112, 1,
3, 0, 0, 0, 0, 0,
0, 0, 15, 0, 0, 0,
200, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0,
173, 1, 0, 0, 40, 0,
0, 0, 4, 0, 0, 0,
2, 0, 0, 0, 112, 1,
3, 0, 0, 0, 1, 0,
0, 0, 15, 0, 0, 0,
200, 0, 0, 0, 2, 0,
0, 0, 0, 0, 0, 0,
182, 1, 0, 0, 44, 0,
0, 0, 4, 0, 0, 0,
2, 0, 0, 0, 112, 1,
3, 0, 0, 0, 2, 0,
0, 0, 15, 0, 0, 0,
200, 0, 0, 0, 3, 0,
0, 0, 0, 0, 0, 0,
99, 111, 108, 111, 114, 95,
70, 108, 111, 97, 116, 0,
1, 0, 3, 0, 1, 0,
4, 0, 0, 0, 0, 0,
0, 0, 0, 0, 122, 86,
97, 108, 117, 101, 70, 95,
70, 108, 111, 97, 116, 0,
171, 171, 0, 0, 3, 0,
1, 0, 1, 0, 0, 0,
3, 0, 0, 0, 3, 0,
0, 0, 15, 0, 0, 0,
200, 0, 0, 0, 4, 0,
0, 0, 0, 0, 0, 0,
97, 49, 95, 70, 108, 111,
97, 116, 0, 97, 50, 95,
70, 108, 111, 97, 116, 0,
97, 51, 95, 70, 108, 111,
97, 116, 0, 97, 52, 95,
70, 108, 111, 97, 116, 0,
97, 53, 95, 70, 108, 111,
97, 116, 0, 97, 54, 95,
70, 108, 111, 97, 116, 0,
97, 55, 95, 70, 108, 111,
97, 116, 0, 77, 105, 99,
114, 111, 115, 111, 102, 116,
32, 40, 82, 41, 32, 72,
76, 83, 76, 32, 83, 104,
97, 100, 101, 114, 32, 67,
111, 109, 112, 105, 108, 101,
114, 32, 54, 46, 51, 46,
57, 54, 48, 48, 46, 49,
54, 51, 56, 52, 0, 171,
171, 171, 73, 83, 71, 78,
44, 0, 0, 0, 1, 0,
0, 0, 8, 0, 0, 0,
32, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0,
3, 0, 0, 0, 0, 0,
3, 0, 0, 0, 4, 0,
0, 0, 15, 0, 0, 0,
83, 86, 95, 80, 79, 83,
73, 84, 73, 79, 78, 0,
79, 83, 71, 78, 244, 0,
0, 0, 9, 0, 0, 0,
8, 0, 0, 0, 224, 0,
200, 0, 0, 0, 5, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3, 0,
3, 0, 0, 0, 5, 0,
0, 0, 15, 0, 0, 0,
200, 0, 0, 0, 6, 0,
0, 0, 0, 0, 0, 0,
15, 0, 0, 0, 224, 0,
0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 3, 0,
0, 0, 1, 0, 0, 0,
15, 0, 0, 0, 224, 0,
0, 0, 2, 0, 0, 0,
0, 0, 0, 0, 3, 0,
0, 0, 2, 0, 0, 0,
15, 0, 0, 0, 224, 0,
0, 0, 3, 0, 0, 0,
0, 0, 0, 0, 3, 0,
0, 0, 3, 0, 0, 0,
15, 0, 0, 0, 224, 0,
0, 0, 4, 0, 0, 0,
0, 0, 0, 0, 3, 0,
0, 0, 4, 0, 0, 0,
15, 0, 0, 0, 224, 0,
0, 0, 5, 0, 0, 0,
0, 0, 0, 0, 3, 0,
0, 0, 5, 0, 0, 0,
15, 0, 0, 0, 224, 0,
0, 0, 6, 0, 0, 0,
0, 0, 0, 0, 3, 0,
0, 0, 6, 0, 0, 0,
15, 0, 0, 0, 224, 0,
0, 0, 7, 0, 0, 0,
0, 0, 0, 0, 3, 0,
0, 0, 7, 0, 0, 0,
15, 0, 0, 0, 234, 0,
3, 0, 0, 0, 6, 0,
0, 0, 15, 0, 0, 0,
200, 0, 0, 0, 7, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3, 0,
0, 0, 255, 255, 255, 255,
1, 14, 0, 0, 83, 86,
95, 84, 65, 82, 71, 69,
84, 0, 83, 86, 95, 68,
69, 80, 84, 72, 0, 171,
83, 72, 68, 82, 0, 2,
3, 0, 0, 0, 7, 0,
0, 0, 15, 0, 0, 0,
83, 86, 95, 84, 65, 82,
71, 69, 84, 0, 171, 171,
83, 72, 68, 82, 24, 1,
0, 0, 64, 0, 0, 0,
128, 0, 0, 0, 89, 0,
0, 4, 70, 142, 32, 0,
0, 0, 0, 0, 3, 0,
0, 0, 101, 0, 0, 3,
242, 32, 16, 0, 0, 0,
0, 0, 101, 0, 0, 3,
242, 32, 16, 0, 1, 0,
0, 0, 101, 0, 0, 3,
70, 0, 0, 0, 98, 16,
0, 3, 242, 16, 16, 0,
1, 0, 0, 0, 101, 0,
0, 3, 242, 32, 16, 0,
0, 0, 0, 0, 101, 0,
0, 3, 242, 32, 16, 0,
1, 0, 0, 0, 101, 0,
0, 3, 242, 32, 16, 0,
2, 0, 0, 0, 101, 0,
0, 3, 242, 32, 16, 0,
3, 0, 0, 0, 101, 0,
0, 3, 242, 32, 16, 0,
4, 0, 0, 0, 101, 0,
0, 3, 242, 32, 16, 0,
5, 0, 0, 0, 101, 0,
0, 3, 242, 32, 16, 0,
6, 0, 0, 0, 101, 0,
0, 3, 242, 32, 16, 0,
7, 0, 0, 0, 54, 0,
0, 5, 242, 32, 16, 0,
0, 0, 0, 0, 70, 30,
16, 0, 1, 0, 0, 0,
54, 0, 0, 5, 242, 32,
16, 0, 1, 0, 0, 0,
70, 30, 16, 0, 1, 0,
0, 0, 54, 0, 0, 5,
242, 32, 16, 0, 2, 0,
0, 0, 101, 0, 0, 3,
242, 32, 16, 0, 3, 0,
0, 0, 101, 0, 0, 3,
242, 32, 16, 0, 4, 0,
0, 0, 101, 0, 0, 3,
242, 32, 16, 0, 5, 0,
0, 0, 101, 0, 0, 3,
242, 32, 16, 0, 6, 0,
0, 0, 101, 0, 0, 3,
242, 32, 16, 0, 7, 0,
0, 0, 101, 0, 0, 2,
1, 192, 0, 0, 54, 0,
0, 6, 242, 32, 16, 0,
0, 0, 0, 0, 70, 142,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 54, 0,
0, 6, 114, 32, 16, 0,
1, 0, 0, 0, 70, 130,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 54, 0,
0, 6, 130, 32, 16, 0,
1, 0, 0, 0, 26, 128,
32, 0, 0, 0, 0, 0,
1, 0, 0, 0, 54, 0,
0, 6, 114, 32, 16, 0,
2, 0, 0, 0, 70, 130,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 54, 0,
0, 6, 130, 32, 16, 0,
2, 0, 0, 0, 42, 128,
32, 0, 0, 0, 0, 0,
0, 0, 70, 30, 16, 0,
1, 0, 0, 0, 54, 0,
0, 6, 114, 32, 16, 0,
3, 0, 0, 0, 70, 130,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 54, 0,
0, 6, 130, 32, 16, 0,
3, 0, 0, 0, 58, 128,
32, 0, 0, 0, 0, 0,
0, 5, 242, 32, 16, 0,
3, 0, 0, 0, 70, 30,
16, 0, 1, 0, 0, 0,
54, 0, 0, 5, 242, 32,
16, 0, 4, 0, 0, 0,
70, 30, 16, 0, 1, 0,
0, 0, 54, 0, 0, 5,
242, 32, 16, 0, 5, 0,
0, 0, 70, 30, 16, 0,
1, 0, 0, 0, 54, 0,
0, 6, 114, 32, 16, 0,
4, 0, 0, 0, 70, 130,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 54, 0,
0, 6, 130, 32, 16, 0,
4, 0, 0, 0, 10, 128,
32, 0, 0, 0, 0, 0,
2, 0, 0, 0, 54, 0,
0, 6, 114, 32, 16, 0,
5, 0, 0, 0, 70, 130,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 54, 0,
0, 6, 130, 32, 16, 0,
5, 0, 0, 0, 26, 128,
32, 0, 0, 0, 0, 0,
2, 0, 0, 0, 54, 0,
0, 6, 114, 32, 16, 0,
6, 0, 0, 0, 70, 130,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 54, 0,
0, 6, 130, 32, 16, 0,
6, 0, 0, 0, 42, 128,
32, 0, 0, 0, 0, 0,
2, 0, 0, 0, 54, 0,
0, 6, 114, 32, 16, 0,
7, 0, 0, 0, 70, 130,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 54, 0,
0, 6, 130, 32, 16, 0,
7, 0, 0, 0, 58, 128,
32, 0, 0, 0, 0, 0,
2, 0, 0, 0, 54, 0,
0, 5, 1, 192, 0, 0,
10, 128, 32, 0, 0, 0,
0, 0, 1, 0, 0, 0,
62, 0, 0, 1, 83, 84,
65, 84, 116, 0, 0, 0,
17, 0, 0, 0, 0, 0,
0, 5, 242, 32, 16, 0,
6, 0, 0, 0, 70, 30,
16, 0, 1, 0, 0, 0,
54, 0, 0, 5, 242, 32,
16, 0, 7, 0, 0, 0,
70, 30, 16, 0, 1, 0,
0, 0, 62, 0, 0, 1,
83, 84, 65, 84, 116, 0,
0, 0, 9, 0, 0, 0,
0, 0, 0, 0, 0, 0,
9, 0, 0, 0, 0, 0,
0, 0, 9, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 16, 0,
0, 0, 0, 0, 0, 0,
8, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0
0, 0, 0, 0
};
......@@ -8,7 +8,8 @@
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// POSITION 0 xyzw 0 NONE float xyzw
// POSITION 0 xyz 0 NONE float xyz
// COLOR 0 xyzw 1 NONE float xyzw
//
//
// Output signature:
......@@ -16,6 +17,7 @@
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION 0 xyzw 0 POS float xyzw
// COLOR 0 xyzw 1 NONE float xyzw
//
//
// Runtime generated constant mappings:
......@@ -28,109 +30,146 @@
// Level9 shader bytecode:
//
vs_2_x
def c1, 1, 0, 0, 0
dcl_texcoord v0
mad oPos.xy, v0.w, c0, v0
mov oPos.zw, v0
dcl_texcoord1 v1
add oPos.xy, v0, c0
mad oPos.zw, v0.z, c1.xyxy, c1.xyyx
mov oT0, v1
// approximately 2 instruction slots used
// approximately 3 instruction slots used
vs_4_0
dcl_input v0.xyzw
dcl_input v0.xyz
dcl_input v1.xyzw
dcl_output_siv o0.xyzw, position
mov o0.xyzw, v0.xyzw
dcl_output o1.xyzw
mov o0.xyz, v0.xyzx
mov o0.w, l(1.000000)
mov o1.xyzw, v1.xyzw
ret
// Approximately 2 instruction slots used
// Approximately 4 instruction slots used
#endif
const BYTE g_VS_ClearAnyType[] =
const BYTE g_VS_ClearFloat[] =
{
68, 88, 66, 67, 176, 74,
193, 175, 25, 51, 252, 39,
176, 214, 107, 38, 137, 209,
240, 189, 1, 0, 0, 0,
28, 2, 0, 0, 6, 0,
68, 88, 66, 67, 254, 253,
200, 174, 22, 35, 97, 190,
187, 200, 253, 161, 246, 45,
67, 66, 1, 0, 0, 0,
204, 2, 0, 0, 6, 0,
0, 0, 56, 0, 0, 0,
156, 0, 0, 0, 224, 0,
0, 0, 92, 1, 0, 0,
180, 1, 0, 0, 232, 1,
208, 0, 0, 0, 84, 1,
0, 0, 208, 1, 0, 0,
40, 2, 0, 0, 120, 2,
0, 0, 65, 111, 110, 57,
92, 0, 0, 0, 92, 0,
144, 0, 0, 0, 144, 0,
0, 0, 0, 2, 254, 255,
52, 0, 0, 0, 40, 0,
104, 0, 0, 0, 40, 0,
0, 0, 0, 0, 36, 0,
0, 0, 36, 0, 0, 0,
36, 0, 0, 0, 36, 0,
1, 0, 36, 0, 0, 0,
0, 0, 1, 2, 254, 255,
81, 0, 0, 5, 1, 0,
15, 160, 0, 0, 128, 63,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
31, 0, 0, 2, 5, 0,
0, 128, 0, 0, 15, 144,
4, 0, 0, 4, 0, 0,
3, 192, 0, 0, 255, 144,
0, 0, 228, 160, 0, 0,
228, 144, 1, 0, 0, 2,
0, 0, 12, 192, 0, 0,
228, 144, 255, 255, 0, 0,
83, 72, 68, 82, 60, 0,
0, 0, 64, 0, 1, 0,
15, 0, 0, 0, 95, 0,
0, 3, 242, 16, 16, 0,
0, 0, 0, 0, 103, 0,
0, 4, 242, 32, 16, 0,
0, 0, 0, 0, 1, 0,
0, 0, 54, 0, 0, 5,
31, 0, 0, 2, 5, 0,
1, 128, 1, 0, 15, 144,
2, 0, 0, 3, 0, 0,
3, 192, 0, 0, 228, 144,
0, 0, 228, 160, 4, 0,
0, 4, 0, 0, 12, 192,
0, 0, 170, 144, 1, 0,
68, 160, 1, 0, 20, 160,
1, 0, 0, 2, 0, 0,
15, 224, 1, 0, 228, 144,
255, 255, 0, 0, 83, 72,
68, 82, 124, 0, 0, 0,
64, 0, 1, 0, 31, 0,
0, 0, 95, 0, 0, 3,
114, 16, 16, 0, 0, 0,
0, 0, 95, 0, 0, 3,
242, 16, 16, 0, 1, 0,
0, 0, 103, 0, 0, 4,
242, 32, 16, 0, 0, 0,
0, 0, 70, 30, 16, 0,
0, 0, 0, 0, 62, 0,
0, 1, 83, 84, 65, 84,
116, 0, 0, 0, 2, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2, 0,
0, 0, 1, 0, 0, 0,
101, 0, 0, 3, 242, 32,
16, 0, 1, 0, 0, 0,
54, 0, 0, 5, 114, 32,
16, 0, 0, 0, 0, 0,
70, 18, 16, 0, 0, 0,
0, 0, 54, 0, 0, 5,
130, 32, 16, 0, 0, 0,
0, 0, 1, 64, 0, 0,
0, 0, 128, 63, 54, 0,
0, 5, 242, 32, 16, 0,
1, 0, 0, 0, 70, 30,
16, 0, 1, 0, 0, 0,
62, 0, 0, 1, 83, 84,
65, 84, 116, 0, 0, 0,
4, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
4, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3, 0,
0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 82, 68, 69, 70,
80, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
82, 68, 69, 70, 80, 0,
0, 0, 0, 0, 28, 0,
0, 0, 0, 4, 254, 255,
0, 1, 0, 0, 28, 0,
0, 0, 77, 105, 99, 114,
111, 115, 111, 102, 116, 32,
40, 82, 41, 32, 72, 76,
83, 76, 32, 83, 104, 97,
100, 101, 114, 32, 67, 111,
109, 112, 105, 108, 101, 114,
32, 54, 46, 51, 46, 57,
54, 48, 48, 46, 49, 54,
51, 56, 52, 0, 171, 171,
73, 83, 71, 78, 72, 0,
0, 0, 2, 0, 0, 0,
8, 0, 0, 0, 56, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3, 0,
0, 0, 0, 0, 0, 0,
0, 0, 28, 0, 0, 0,
0, 4, 254, 255, 0, 1,
0, 0, 28, 0, 0, 0,
77, 105, 99, 114, 111, 115,
111, 102, 116, 32, 40, 82,
41, 32, 72, 76, 83, 76,
32, 83, 104, 97, 100, 101,
114, 32, 67, 111, 109, 112,
105, 108, 101, 114, 32, 54,
46, 51, 46, 57, 54, 48,
48, 46, 49, 54, 51, 56,
52, 0, 171, 171, 73, 83,
71, 78, 44, 0, 0, 0,
1, 0, 0, 0, 8, 0,
0, 0, 32, 0, 0, 0,
7, 7, 0, 0, 65, 0,
0, 0, 0, 0, 0, 0,
0, 0, 3, 0, 0, 0,
0, 0, 0, 0, 15, 15,
0, 0, 80, 79, 83, 73,
84, 73, 79, 78, 0, 171,
171, 171, 79, 83, 71, 78,
44, 0, 0, 0, 1, 0,
0, 0, 0, 0, 3, 0,
0, 0, 1, 0, 0, 0,
15, 15, 0, 0, 80, 79,
83, 73, 84, 73, 79, 78,
0, 67, 79, 76, 79, 82,
0, 171, 79, 83, 71, 78,
76, 0, 0, 0, 2, 0,
0, 0, 8, 0, 0, 0,
32, 0, 0, 0, 0, 0,
56, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0,
3, 0, 0, 0, 0, 0,
0, 0, 15, 0, 0, 0,
68, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 1, 0,
0, 0, 15, 0, 0, 0,
83, 86, 95, 80, 79, 83,
73, 84, 73, 79, 78, 0
73, 84, 73, 79, 78, 0,
67, 79, 76, 79, 82, 0,
171, 171
};
......@@ -3,30 +3,13 @@
// Generated by Microsoft (R) HLSL Shader Compiler 6.3.9600.16384
//
//
// Buffer Definitions:
//
// cbuffer ColorAndDepthDataSint
// {
//
// int4 color_Sint; // Offset: 0 Size: 16
// float zValueF_Sint; // Offset: 16 Size: 4
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// ColorAndDepthDataSint cbuffer NA NA 0 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION 0 xyzw 0 POS float
// COLOR 0 xyzw 1 NONE int xyzw
//
//
// Output signature:
......@@ -41,10 +24,9 @@
// SV_TARGET 5 xyzw 5 TARGET int xyzw
// SV_TARGET 6 xyzw 6 TARGET int xyzw
// SV_TARGET 7 xyzw 7 TARGET int xyzw
// SV_DEPTH 0 N/A oDepth DEPTH float YES
//
ps_4_0
dcl_constantbuffer cb0[2], immediateIndexed
dcl_input_ps constant v1.xyzw
dcl_output o0.xyzw
dcl_output o1.xyzw
dcl_output o2.xyzw
......@@ -53,133 +35,99 @@ dcl_output o4.xyzw
dcl_output o5.xyzw
dcl_output o6.xyzw
dcl_output o7.xyzw
dcl_output oDepth
mov o0.xyzw, cb0[0].xyzw
mov o1.xyzw, cb0[0].xyzw
mov o2.xyzw, cb0[0].xyzw
mov o3.xyzw, cb0[0].xyzw
mov o4.xyzw, cb0[0].xyzw
mov o5.xyzw, cb0[0].xyzw
mov o6.xyzw, cb0[0].xyzw
mov o7.xyzw, cb0[0].xyzw
mov oDepth, cb0[1].x
mov o0.xyzw, v1.xyzw
mov o1.xyzw, v1.xyzw
mov o2.xyzw, v1.xyzw
mov o3.xyzw, v1.xyzw
mov o4.xyzw, v1.xyzw
mov o5.xyzw, v1.xyzw
mov o6.xyzw, v1.xyzw
mov o7.xyzw, v1.xyzw
ret
// Approximately 10 instruction slots used
// Approximately 9 instruction slots used
#endif
const BYTE g_PS_ClearSint[] =
{
68, 88, 66, 67, 40, 80,
87, 20, 166, 137, 87, 18,
79, 10, 71, 118, 4, 27,
31, 113, 1, 0, 0, 0,
84, 4, 0, 0, 5, 0,
68, 88, 66, 67, 206, 129,
255, 236, 115, 217, 216, 20,
88, 47, 155, 195, 145, 179,
183, 28, 1, 0, 0, 0,
88, 3, 0, 0, 5, 0,
0, 0, 52, 0, 0, 0,
72, 1, 0, 0, 124, 1,
0, 0, 120, 2, 0, 0,
216, 3, 0, 0, 82, 68,
69, 70, 12, 1, 0, 0,
1, 0, 0, 0, 84, 0,
0, 0, 1, 0, 0, 0,
28, 0, 0, 0, 0, 4,
255, 255, 0, 1, 0, 0,
216, 0, 0, 0, 60, 0,
0, 0, 0, 0, 0, 0,
140, 0, 0, 0, 224, 0,
0, 0, 188, 1, 0, 0,
220, 2, 0, 0, 82, 68,
69, 70, 80, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0,
28, 0, 0, 0, 0, 4,
255, 255, 0, 1, 0, 0,
28, 0, 0, 0, 77, 105,
99, 114, 111, 115, 111, 102,
116, 32, 40, 82, 41, 32,
72, 76, 83, 76, 32, 83,
104, 97, 100, 101, 114, 32,
67, 111, 109, 112, 105, 108,
101, 114, 32, 54, 46, 51,
46, 57, 54, 48, 48, 46,
49, 54, 51, 56, 52, 0,
171, 171, 73, 83, 71, 78,
76, 0, 0, 0, 2, 0,
0, 0, 8, 0, 0, 0,
56, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0,
67, 111, 108, 111, 114, 65,
110, 100, 68, 101, 112, 116,
104, 68, 97, 116, 97, 83,
105, 110, 116, 0, 171, 171,
60, 0, 0, 0, 2, 0,
0, 0, 108, 0, 0, 0,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
156, 0, 0, 0, 0, 0,
0, 0, 16, 0, 0, 0,
2, 0, 0, 0, 168, 0,
0, 0, 0, 0, 0, 0,
184, 0, 0, 0, 16, 0,
0, 0, 4, 0, 0, 0,
2, 0, 0, 0, 200, 0,
0, 0, 0, 0, 0, 0,
99, 111, 108, 111, 114, 95,
83, 105, 110, 116, 0, 171,
1, 0, 2, 0, 1, 0,
4, 0, 0, 0, 0, 0,
0, 0, 0, 0, 122, 86,
97, 108, 117, 101, 70, 95,
83, 105, 110, 116, 0, 171,
171, 171, 0, 0, 3, 0,
1, 0, 1, 0, 0, 0,
3, 0, 0, 0, 0, 0,
0, 0, 15, 0, 0, 0,
68, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
77, 105, 99, 114, 111, 115,
111, 102, 116, 32, 40, 82,
41, 32, 72, 76, 83, 76,
32, 83, 104, 97, 100, 101,
114, 32, 67, 111, 109, 112,
105, 108, 101, 114, 32, 54,
46, 51, 46, 57, 54, 48,
48, 46, 49, 54, 51, 56,
52, 0, 171, 171, 73, 83,
71, 78, 44, 0, 0, 0,
1, 0, 0, 0, 8, 0,
0, 0, 32, 0, 0, 0,
0, 0, 0, 0, 1, 0,
0, 0, 3, 0, 0, 0,
0, 0, 0, 0, 15, 0,
0, 0, 83, 86, 95, 80,
79, 83, 73, 84, 73, 79,
78, 0, 79, 83, 71, 78,
244, 0, 0, 0, 9, 0,
2, 0, 0, 0, 1, 0,
0, 0, 15, 15, 0, 0,
83, 86, 95, 80, 79, 83,
73, 84, 73, 79, 78, 0,
67, 79, 76, 79, 82, 0,
171, 171, 79, 83, 71, 78,
212, 0, 0, 0, 8, 0,
0, 0, 8, 0, 0, 0,
224, 0, 0, 0, 0, 0,
200, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
2, 0, 0, 0, 0, 0,
0, 0, 15, 0, 0, 0,
224, 0, 0, 0, 1, 0,
200, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0,
2, 0, 0, 0, 1, 0,
0, 0, 15, 0, 0, 0,
224, 0, 0, 0, 2, 0,
200, 0, 0, 0, 2, 0,
0, 0, 0, 0, 0, 0,
2, 0, 0, 0, 2, 0,
0, 0, 15, 0, 0, 0,
224, 0, 0, 0, 3, 0,
200, 0, 0, 0, 3, 0,
0, 0, 0, 0, 0, 0,
2, 0, 0, 0, 3, 0,
0, 0, 15, 0, 0, 0,
224, 0, 0, 0, 4, 0,
200, 0, 0, 0, 4, 0,
0, 0, 0, 0, 0, 0,
2, 0, 0, 0, 4, 0,
0, 0, 15, 0, 0, 0,
224, 0, 0, 0, 5, 0,
200, 0, 0, 0, 5, 0,
0, 0, 0, 0, 0, 0,
2, 0, 0, 0, 5, 0,
0, 0, 15, 0, 0, 0,
224, 0, 0, 0, 6, 0,
200, 0, 0, 0, 6, 0,
0, 0, 0, 0, 0, 0,
2, 0, 0, 0, 6, 0,
0, 0, 15, 0, 0, 0,
224, 0, 0, 0, 7, 0,
200, 0, 0, 0, 7, 0,
0, 0, 0, 0, 0, 0,
2, 0, 0, 0, 7, 0,
0, 0, 15, 0, 0, 0,
234, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 255, 255,
255, 255, 1, 14, 0, 0,
83, 86, 95, 84, 65, 82,
71, 69, 84, 0, 83, 86,
95, 68, 69, 80, 84, 72,
0, 171, 83, 72, 68, 82,
88, 1, 0, 0, 64, 0,
0, 0, 86, 0, 0, 0,
89, 0, 0, 4, 70, 142,
32, 0, 0, 0, 0, 0,
2, 0, 0, 0, 101, 0,
71, 69, 84, 0, 171, 171,
83, 72, 68, 82, 24, 1,
0, 0, 64, 0, 0, 0,
70, 0, 0, 0, 98, 8,
0, 3, 242, 16, 16, 0,
1, 0, 0, 0, 101, 0,
0, 3, 242, 32, 16, 0,
0, 0, 0, 0, 101, 0,
0, 3, 242, 32, 16, 0,
......@@ -195,46 +143,36 @@ const BYTE g_PS_ClearSint[] =
0, 3, 242, 32, 16, 0,
6, 0, 0, 0, 101, 0,
0, 3, 242, 32, 16, 0,
7, 0, 0, 0, 101, 0,
0, 2, 1, 192, 0, 0,
54, 0, 0, 6, 242, 32,
16, 0, 0, 0, 0, 0,
70, 142, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
54, 0, 0, 6, 242, 32,
7, 0, 0, 0, 54, 0,
0, 5, 242, 32, 16, 0,
0, 0, 0, 0, 70, 30,
16, 0, 1, 0, 0, 0,
70, 142, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
54, 0, 0, 6, 242, 32,
16, 0, 2, 0, 0, 0,
70, 142, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
54, 0, 0, 6, 242, 32,
16, 0, 3, 0, 0, 0,
70, 142, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
54, 0, 0, 6, 242, 32,
54, 0, 0, 5, 242, 32,
16, 0, 1, 0, 0, 0,
70, 30, 16, 0, 1, 0,
0, 0, 54, 0, 0, 5,
242, 32, 16, 0, 2, 0,
0, 0, 70, 30, 16, 0,
1, 0, 0, 0, 54, 0,
0, 5, 242, 32, 16, 0,
3, 0, 0, 0, 70, 30,
16, 0, 1, 0, 0, 0,
54, 0, 0, 5, 242, 32,
16, 0, 4, 0, 0, 0,
70, 142, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
54, 0, 0, 6, 242, 32,
16, 0, 5, 0, 0, 0,
70, 142, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
54, 0, 0, 6, 242, 32,
16, 0, 6, 0, 0, 0,
70, 142, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
54, 0, 0, 6, 242, 32,
70, 30, 16, 0, 1, 0,
0, 0, 54, 0, 0, 5,
242, 32, 16, 0, 5, 0,
0, 0, 70, 30, 16, 0,
1, 0, 0, 0, 54, 0,
0, 5, 242, 32, 16, 0,
6, 0, 0, 0, 70, 30,
16, 0, 1, 0, 0, 0,
54, 0, 0, 5, 242, 32,
16, 0, 7, 0, 0, 0,
70, 142, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
54, 0, 0, 5, 1, 192,
0, 0, 10, 128, 32, 0,
0, 0, 0, 0, 1, 0,
70, 30, 16, 0, 1, 0,
0, 0, 62, 0, 0, 1,
83, 84, 65, 84, 116, 0,
0, 0, 10, 0, 0, 0,
0, 0, 9, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 9, 0, 0, 0,
0, 0, 0, 0, 0, 0,
......@@ -247,7 +185,7 @@ const BYTE g_PS_ClearSint[] =
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
9, 0, 0, 0, 0, 0,
8, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
......
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 6.3.9600.16384
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// POSITION 0 xyz 0 NONE float xyz
// COLOR 0 xyzw 1 NONE int xyzw
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION 0 xyzw 0 POS float xyzw
// COLOR 0 xyzw 1 NONE int xyzw
//
vs_4_0
dcl_input v0.xyz
dcl_input v1.xyzw
dcl_output_siv o0.xyzw, position
dcl_output o1.xyzw
mov o0.xyz, v0.xyzx
mov o0.w, l(1.000000)
mov o1.xyzw, v1.xyzw
ret
// Approximately 4 instruction slots used
#endif
const BYTE g_VS_ClearSint[] =
{
68, 88, 66, 67, 20, 240,
85, 136, 255, 181, 253, 103,
207, 181, 122, 106, 92, 25,
228, 89, 1, 0, 0, 0,
48, 2, 0, 0, 5, 0,
0, 0, 52, 0, 0, 0,
140, 0, 0, 0, 220, 0,
0, 0, 48, 1, 0, 0,
180, 1, 0, 0, 82, 68,
69, 70, 80, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
28, 0, 0, 0, 0, 4,
254, 255, 0, 1, 0, 0,
28, 0, 0, 0, 77, 105,
99, 114, 111, 115, 111, 102,
116, 32, 40, 82, 41, 32,
72, 76, 83, 76, 32, 83,
104, 97, 100, 101, 114, 32,
67, 111, 109, 112, 105, 108,
101, 114, 32, 54, 46, 51,
46, 57, 54, 48, 48, 46,
49, 54, 51, 56, 52, 0,
171, 171, 73, 83, 71, 78,
72, 0, 0, 0, 2, 0,
0, 0, 8, 0, 0, 0,
56, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 0, 0,
0, 0, 7, 7, 0, 0,
65, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
2, 0, 0, 0, 1, 0,
0, 0, 15, 15, 0, 0,
80, 79, 83, 73, 84, 73,
79, 78, 0, 67, 79, 76,
79, 82, 0, 171, 79, 83,
71, 78, 76, 0, 0, 0,
2, 0, 0, 0, 8, 0,
0, 0, 56, 0, 0, 0,
0, 0, 0, 0, 1, 0,
0, 0, 3, 0, 0, 0,
0, 0, 0, 0, 15, 0,
0, 0, 68, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 2, 0, 0, 0,
1, 0, 0, 0, 15, 0,
0, 0, 83, 86, 95, 80,
79, 83, 73, 84, 73, 79,
78, 0, 67, 79, 76, 79,
82, 0, 171, 171, 83, 72,
68, 82, 124, 0, 0, 0,
64, 0, 1, 0, 31, 0,
0, 0, 95, 0, 0, 3,
114, 16, 16, 0, 0, 0,
0, 0, 95, 0, 0, 3,
242, 16, 16, 0, 1, 0,
0, 0, 103, 0, 0, 4,
242, 32, 16, 0, 0, 0,
0, 0, 1, 0, 0, 0,
101, 0, 0, 3, 242, 32,
16, 0, 1, 0, 0, 0,
54, 0, 0, 5, 114, 32,
16, 0, 0, 0, 0, 0,
70, 18, 16, 0, 0, 0,
0, 0, 54, 0, 0, 5,
130, 32, 16, 0, 0, 0,
0, 0, 1, 64, 0, 0,
0, 0, 128, 63, 54, 0,
0, 5, 242, 32, 16, 0,
1, 0, 0, 0, 70, 30,
16, 0, 1, 0, 0, 0,
62, 0, 0, 1, 83, 84,
65, 84, 116, 0, 0, 0,
4, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
4, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0
};
......@@ -3,30 +3,13 @@
// Generated by Microsoft (R) HLSL Shader Compiler 6.3.9600.16384
//
//
// Buffer Definitions:
//
// cbuffer ColorAndDepthDataUint
// {
//
// uint4 color_Uint; // Offset: 0 Size: 16
// float zValueF_Uint; // Offset: 16 Size: 4
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// ColorAndDepthDataUint cbuffer NA NA 0 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION 0 xyzw 0 POS float
// COLOR 0 xyzw 1 NONE uint xyzw
//
//
// Output signature:
......@@ -41,10 +24,9 @@
// SV_TARGET 5 xyzw 5 TARGET uint xyzw
// SV_TARGET 6 xyzw 6 TARGET uint xyzw
// SV_TARGET 7 xyzw 7 TARGET uint xyzw
// SV_DEPTH 0 N/A oDepth DEPTH float YES
//
ps_4_0
dcl_constantbuffer cb0[2], immediateIndexed
dcl_input_ps constant v1.xyzw
dcl_output o0.xyzw
dcl_output o1.xyzw
dcl_output o2.xyzw
......@@ -53,133 +35,99 @@ dcl_output o4.xyzw
dcl_output o5.xyzw
dcl_output o6.xyzw
dcl_output o7.xyzw
dcl_output oDepth
mov o0.xyzw, cb0[0].xyzw
mov o1.xyzw, cb0[0].xyzw
mov o2.xyzw, cb0[0].xyzw
mov o3.xyzw, cb0[0].xyzw
mov o4.xyzw, cb0[0].xyzw
mov o5.xyzw, cb0[0].xyzw
mov o6.xyzw, cb0[0].xyzw
mov o7.xyzw, cb0[0].xyzw
mov oDepth, cb0[1].x
mov o0.xyzw, v1.xyzw
mov o1.xyzw, v1.xyzw
mov o2.xyzw, v1.xyzw
mov o3.xyzw, v1.xyzw
mov o4.xyzw, v1.xyzw
mov o5.xyzw, v1.xyzw
mov o6.xyzw, v1.xyzw
mov o7.xyzw, v1.xyzw
ret
// Approximately 10 instruction slots used
// Approximately 9 instruction slots used
#endif
const BYTE g_PS_ClearUint[] =
{
68, 88, 66, 67, 31, 50,
232, 254, 182, 197, 174, 161,
39, 175, 44, 65, 71, 251,
37, 230, 1, 0, 0, 0,
84, 4, 0, 0, 5, 0,
68, 88, 66, 67, 117, 209,
142, 159, 65, 29, 212, 206,
242, 37, 169, 58, 35, 236,
222, 73, 1, 0, 0, 0,
88, 3, 0, 0, 5, 0,
0, 0, 52, 0, 0, 0,
72, 1, 0, 0, 124, 1,
0, 0, 120, 2, 0, 0,
216, 3, 0, 0, 82, 68,
69, 70, 12, 1, 0, 0,
1, 0, 0, 0, 84, 0,
0, 0, 1, 0, 0, 0,
28, 0, 0, 0, 0, 4,
255, 255, 0, 1, 0, 0,
216, 0, 0, 0, 60, 0,
0, 0, 0, 0, 0, 0,
140, 0, 0, 0, 224, 0,
0, 0, 188, 1, 0, 0,
220, 2, 0, 0, 82, 68,
69, 70, 80, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0,
28, 0, 0, 0, 0, 4,
255, 255, 0, 1, 0, 0,
28, 0, 0, 0, 77, 105,
99, 114, 111, 115, 111, 102,
116, 32, 40, 82, 41, 32,
72, 76, 83, 76, 32, 83,
104, 97, 100, 101, 114, 32,
67, 111, 109, 112, 105, 108,
101, 114, 32, 54, 46, 51,
46, 57, 54, 48, 48, 46,
49, 54, 51, 56, 52, 0,
171, 171, 73, 83, 71, 78,
76, 0, 0, 0, 2, 0,
0, 0, 8, 0, 0, 0,
56, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0,
67, 111, 108, 111, 114, 65,
110, 100, 68, 101, 112, 116,
104, 68, 97, 116, 97, 85,
105, 110, 116, 0, 171, 171,
60, 0, 0, 0, 2, 0,
0, 0, 108, 0, 0, 0,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
156, 0, 0, 0, 0, 0,
0, 0, 16, 0, 0, 0,
2, 0, 0, 0, 168, 0,
0, 0, 0, 0, 0, 0,
184, 0, 0, 0, 16, 0,
0, 0, 4, 0, 0, 0,
2, 0, 0, 0, 200, 0,
0, 0, 0, 0, 0, 0,
99, 111, 108, 111, 114, 95,
85, 105, 110, 116, 0, 171,
1, 0, 19, 0, 1, 0,
4, 0, 0, 0, 0, 0,
0, 0, 0, 0, 122, 86,
97, 108, 117, 101, 70, 95,
85, 105, 110, 116, 0, 171,
171, 171, 0, 0, 3, 0,
1, 0, 1, 0, 0, 0,
3, 0, 0, 0, 0, 0,
0, 0, 15, 0, 0, 0,
68, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
77, 105, 99, 114, 111, 115,
111, 102, 116, 32, 40, 82,
41, 32, 72, 76, 83, 76,
32, 83, 104, 97, 100, 101,
114, 32, 67, 111, 109, 112,
105, 108, 101, 114, 32, 54,
46, 51, 46, 57, 54, 48,
48, 46, 49, 54, 51, 56,
52, 0, 171, 171, 73, 83,
71, 78, 44, 0, 0, 0,
1, 0, 0, 0, 8, 0,
0, 0, 32, 0, 0, 0,
0, 0, 0, 0, 1, 0,
0, 0, 3, 0, 0, 0,
0, 0, 0, 0, 15, 0,
0, 0, 83, 86, 95, 80,
79, 83, 73, 84, 73, 79,
78, 0, 79, 83, 71, 78,
244, 0, 0, 0, 9, 0,
1, 0, 0, 0, 1, 0,
0, 0, 15, 15, 0, 0,
83, 86, 95, 80, 79, 83,
73, 84, 73, 79, 78, 0,
67, 79, 76, 79, 82, 0,
171, 171, 79, 83, 71, 78,
212, 0, 0, 0, 8, 0,
0, 0, 8, 0, 0, 0,
224, 0, 0, 0, 0, 0,
200, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0,
0, 0, 15, 0, 0, 0,
224, 0, 0, 0, 1, 0,
200, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0,
0, 0, 15, 0, 0, 0,
224, 0, 0, 0, 2, 0,
200, 0, 0, 0, 2, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 2, 0,
0, 0, 15, 0, 0, 0,
224, 0, 0, 0, 3, 0,
200, 0, 0, 0, 3, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 3, 0,
0, 0, 15, 0, 0, 0,
224, 0, 0, 0, 4, 0,
200, 0, 0, 0, 4, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 4, 0,
0, 0, 15, 0, 0, 0,
224, 0, 0, 0, 5, 0,
200, 0, 0, 0, 5, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 5, 0,
0, 0, 15, 0, 0, 0,
224, 0, 0, 0, 6, 0,
200, 0, 0, 0, 6, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 6, 0,
0, 0, 15, 0, 0, 0,
224, 0, 0, 0, 7, 0,
200, 0, 0, 0, 7, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 7, 0,
0, 0, 15, 0, 0, 0,
234, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 255, 255,
255, 255, 1, 14, 0, 0,
83, 86, 95, 84, 65, 82,
71, 69, 84, 0, 83, 86,
95, 68, 69, 80, 84, 72,
0, 171, 83, 72, 68, 82,
88, 1, 0, 0, 64, 0,
0, 0, 86, 0, 0, 0,
89, 0, 0, 4, 70, 142,
32, 0, 0, 0, 0, 0,
2, 0, 0, 0, 101, 0,
71, 69, 84, 0, 171, 171,
83, 72, 68, 82, 24, 1,
0, 0, 64, 0, 0, 0,
70, 0, 0, 0, 98, 8,
0, 3, 242, 16, 16, 0,
1, 0, 0, 0, 101, 0,
0, 3, 242, 32, 16, 0,
0, 0, 0, 0, 101, 0,
0, 3, 242, 32, 16, 0,
......@@ -195,46 +143,36 @@ const BYTE g_PS_ClearUint[] =
0, 3, 242, 32, 16, 0,
6, 0, 0, 0, 101, 0,
0, 3, 242, 32, 16, 0,
7, 0, 0, 0, 101, 0,
0, 2, 1, 192, 0, 0,
54, 0, 0, 6, 242, 32,
16, 0, 0, 0, 0, 0,
70, 142, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
54, 0, 0, 6, 242, 32,
7, 0, 0, 0, 54, 0,
0, 5, 242, 32, 16, 0,
0, 0, 0, 0, 70, 30,
16, 0, 1, 0, 0, 0,
70, 142, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
54, 0, 0, 6, 242, 32,
16, 0, 2, 0, 0, 0,
70, 142, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
54, 0, 0, 6, 242, 32,
16, 0, 3, 0, 0, 0,
70, 142, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
54, 0, 0, 6, 242, 32,
54, 0, 0, 5, 242, 32,
16, 0, 1, 0, 0, 0,
70, 30, 16, 0, 1, 0,
0, 0, 54, 0, 0, 5,
242, 32, 16, 0, 2, 0,
0, 0, 70, 30, 16, 0,
1, 0, 0, 0, 54, 0,
0, 5, 242, 32, 16, 0,
3, 0, 0, 0, 70, 30,
16, 0, 1, 0, 0, 0,
54, 0, 0, 5, 242, 32,
16, 0, 4, 0, 0, 0,
70, 142, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
54, 0, 0, 6, 242, 32,
16, 0, 5, 0, 0, 0,
70, 142, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
54, 0, 0, 6, 242, 32,
16, 0, 6, 0, 0, 0,
70, 142, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
54, 0, 0, 6, 242, 32,
70, 30, 16, 0, 1, 0,
0, 0, 54, 0, 0, 5,
242, 32, 16, 0, 5, 0,
0, 0, 70, 30, 16, 0,
1, 0, 0, 0, 54, 0,
0, 5, 242, 32, 16, 0,
6, 0, 0, 0, 70, 30,
16, 0, 1, 0, 0, 0,
54, 0, 0, 5, 242, 32,
16, 0, 7, 0, 0, 0,
70, 142, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
54, 0, 0, 5, 1, 192,
0, 0, 10, 128, 32, 0,
0, 0, 0, 0, 1, 0,
70, 30, 16, 0, 1, 0,
0, 0, 62, 0, 0, 1,
83, 84, 65, 84, 116, 0,
0, 0, 10, 0, 0, 0,
0, 0, 9, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 9, 0, 0, 0,
0, 0, 0, 0, 0, 0,
......@@ -247,7 +185,7 @@ const BYTE g_PS_ClearUint[] =
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
9, 0, 0, 0, 0, 0,
8, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
......
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 6.3.9600.16384
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// POSITION 0 xyz 0 NONE float xyz
// COLOR 0 xyzw 1 NONE uint xyzw
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION 0 xyzw 0 POS float xyzw
// COLOR 0 xyzw 1 NONE uint xyzw
//
vs_4_0
dcl_input v0.xyz
dcl_input v1.xyzw
dcl_output_siv o0.xyzw, position
dcl_output o1.xyzw
mov o0.xyz, v0.xyzx
mov o0.w, l(1.000000)
mov o1.xyzw, v1.xyzw
ret
// Approximately 4 instruction slots used
#endif
const BYTE g_VS_ClearUint[] =
{
68, 88, 66, 67, 62, 191,
52, 95, 60, 98, 193, 75,
194, 36, 187, 194, 54, 24,
232, 224, 1, 0, 0, 0,
48, 2, 0, 0, 5, 0,
0, 0, 52, 0, 0, 0,
140, 0, 0, 0, 220, 0,
0, 0, 48, 1, 0, 0,
180, 1, 0, 0, 82, 68,
69, 70, 80, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
28, 0, 0, 0, 0, 4,
254, 255, 0, 1, 0, 0,
28, 0, 0, 0, 77, 105,
99, 114, 111, 115, 111, 102,
116, 32, 40, 82, 41, 32,
72, 76, 83, 76, 32, 83,
104, 97, 100, 101, 114, 32,
67, 111, 109, 112, 105, 108,
101, 114, 32, 54, 46, 51,
46, 57, 54, 48, 48, 46,
49, 54, 51, 56, 52, 0,
171, 171, 73, 83, 71, 78,
72, 0, 0, 0, 2, 0,
0, 0, 8, 0, 0, 0,
56, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 0, 0,
0, 0, 7, 7, 0, 0,
65, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0,
0, 0, 15, 15, 0, 0,
80, 79, 83, 73, 84, 73,
79, 78, 0, 67, 79, 76,
79, 82, 0, 171, 79, 83,
71, 78, 76, 0, 0, 0,
2, 0, 0, 0, 8, 0,
0, 0, 56, 0, 0, 0,
0, 0, 0, 0, 1, 0,
0, 0, 3, 0, 0, 0,
0, 0, 0, 0, 15, 0,
0, 0, 68, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 15, 0,
0, 0, 83, 86, 95, 80,
79, 83, 73, 84, 73, 79,
78, 0, 67, 79, 76, 79,
82, 0, 171, 171, 83, 72,
68, 82, 124, 0, 0, 0,
64, 0, 1, 0, 31, 0,
0, 0, 95, 0, 0, 3,
114, 16, 16, 0, 0, 0,
0, 0, 95, 0, 0, 3,
242, 16, 16, 0, 1, 0,
0, 0, 103, 0, 0, 4,
242, 32, 16, 0, 0, 0,
0, 0, 1, 0, 0, 0,
101, 0, 0, 3, 242, 32,
16, 0, 1, 0, 0, 0,
54, 0, 0, 5, 114, 32,
16, 0, 0, 0, 0, 0,
70, 18, 16, 0, 0, 0,
0, 0, 54, 0, 0, 5,
130, 32, 16, 0, 0, 0,
0, 0, 1, 64, 0, 0,
0, 0, 128, 63, 54, 0,
0, 5, 242, 32, 16, 0,
1, 0, 0, 0, 70, 30,
16, 0, 1, 0, 0, 0,
62, 0, 0, 1, 83, 84,
65, 84, 116, 0, 0, 0,
4, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
4, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0
};
......@@ -20,23 +20,24 @@ if "%1" == "release" (
)
:: Shaders for OpenGL ES 2.0 and OpenGL ES 3.0+
:: | Input file | Entry point | Type | Output file | Debug |
call:BuildShader Passthrough2D11.hlsl VS_Passthrough2D vs_4_0_level_9_3 compiled\passthrough2d11vs.h %debug%
call:BuildShader Passthrough2D11.hlsl PS_PassthroughRGBA2D ps_4_0_level_9_3 compiled\passthroughrgba2d11ps.h %debug%
call:BuildShader Passthrough2D11.hlsl PS_PassthroughRGB2D ps_4_0_level_9_3 compiled\passthroughrgb2d11ps.h %debug%
call:BuildShader Passthrough2D11.hlsl PS_PassthroughRG2D ps_4_0_level_9_3 compiled\passthroughrg2d11ps.h %debug%
call:BuildShader Passthrough2D11.hlsl PS_PassthroughR2D ps_4_0_level_9_3 compiled\passthroughr2d11ps.h %debug%
call:BuildShader Passthrough2D11.hlsl PS_PassthroughLum2D ps_4_0_level_9_3 compiled\passthroughlum2d11ps.h %debug%
call:BuildShader Passthrough2D11.hlsl PS_PassthroughLumAlpha2D ps_4_0_level_9_3 compiled\passthroughlumalpha2d11ps.h %debug%
call:BuildShader Passthrough2D11.hlsl PS_PassthroughRGBAPremultiply2D ps_4_0_level_9_3 compiled\passthroughrgbapremultiply2d11ps.h %debug%
call:BuildShader Passthrough2D11.hlsl PS_PassthroughRGBAUnmultiply2D ps_4_0_level_9_3 compiled\passthroughrgbaunmultiply2d11ps.h %debug%
call:BuildShader Passthrough2D11.hlsl PS_PassthroughRGBPremultiply2D ps_4_0_level_9_3 compiled\passthroughrgbpremultiply2d11ps.h %debug%
call:BuildShader Passthrough2D11.hlsl PS_PassthroughRGBUnmultiply2D ps_4_0_level_9_3 compiled\passthroughrgbunmultiply2d11ps.h %debug%
call:BuildShader Clear11.hlsl VS_ClearAnyType vs_4_0_level_9_3 compiled\clearanytype11vs.h %debug%
call:BuildShader Clear11.hlsl PS_ClearFloat_FL9 ps_4_0_level_9_3 compiled\clearfloat11_fl9ps.h %debug%
call:BuildShader Clear11.hlsl PS_ClearFloat ps_4_0 compiled\clearfloat11ps.h %debug%
:: | Input file | Entry point | Type | Output file | Debug |
call:BuildShader Passthrough2D11.hlsl VS_Passthrough2D vs_4_0_level_9_3 compiled\passthrough2d11vs.h %debug%
call:BuildShader Passthrough2D11.hlsl PS_PassthroughRGBA2D ps_4_0_level_9_3 compiled\passthroughrgba2d11ps.h %debug%
call:BuildShader Passthrough2D11.hlsl PS_PassthroughRGB2D ps_4_0_level_9_3 compiled\passthroughrgb2d11ps.h %debug%
call:BuildShader Passthrough2D11.hlsl PS_PassthroughRG2D ps_4_0_level_9_3 compiled\passthroughrg2d11ps.h %debug%
call:BuildShader Passthrough2D11.hlsl PS_PassthroughR2D ps_4_0_level_9_3 compiled\passthroughr2d11ps.h %debug%
call:BuildShader Passthrough2D11.hlsl PS_PassthroughLum2D ps_4_0_level_9_3 compiled\passthroughlum2d11ps.h %debug%
call:BuildShader Passthrough2D11.hlsl PS_PassthroughLumAlpha2D ps_4_0_level_9_3 compiled\passthroughlumalpha2d11ps.h %debug%
call:BuildShader Passthrough2D11.hlsl PS_PassthroughRGBAPremultiply2D ps_4_0_level_9_3 compiled\passthroughrgbapremultiply2d11ps.h %debug%
call:BuildShader Passthrough2D11.hlsl PS_PassthroughRGBAUnmultiply2D ps_4_0_level_9_3 compiled\passthroughrgbaunmultiply2d11ps.h %debug%
call:BuildShader Passthrough2D11.hlsl PS_PassthroughRGBPremultiply2D ps_4_0_level_9_3 compiled\passthroughrgbpremultiply2d11ps.h %debug%
call:BuildShader Passthrough2D11.hlsl PS_PassthroughRGBUnmultiply2D ps_4_0_level_9_3 compiled\passthroughrgbunmultiply2d11ps.h %debug%
call:BuildShader Clear11.hlsl VS_ClearFloat vs_4_0_level_9_3 compiled\clearfloat11vs.h %debug%
call:BuildShader Clear11.hlsl PS_ClearFloat_FL9 ps_4_0_level_9_3 compiled\clearfloat11_fl9ps.h %debug%
call:BuildShader Clear11.hlsl PS_ClearFloat ps_4_0 compiled\clearfloat11ps.h %debug%
:: Shaders for OpenGL ES 3.0+ only
:: | Input file | Entry point | Type | Output file | Debug |
......@@ -79,7 +80,10 @@ call:BuildShader Swizzle11.hlsl PS_SwizzleF2DArray ps_4_0 co
call:BuildShader Swizzle11.hlsl PS_SwizzleI2DArray ps_4_0 compiled\swizzlei2darrayps.h %debug%
call:BuildShader Swizzle11.hlsl PS_SwizzleUI2DArray ps_4_0 compiled\swizzleui2darrayps.h %debug%
call:BuildShader Clear11.hlsl VS_ClearUint vs_4_0 compiled\clearuint11vs.h %debug%
call:BuildShader Clear11.hlsl PS_ClearUint ps_4_0 compiled\clearuint11ps.h %debug%
call:BuildShader Clear11.hlsl VS_ClearSint vs_4_0 compiled\clearsint11vs.h %debug%
call:BuildShader Clear11.hlsl PS_ClearSint ps_4_0 compiled\clearsint11ps.h %debug%
call:BuildShader BufferToTexture11.hlsl VS_BufferToTexture vs_4_0 compiled/buffertotexture11_vs.h %debug%
......
......@@ -388,11 +388,12 @@
'libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4i.h',
'libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4ui.h',
'libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_vs.h',
'libANGLE/renderer/d3d/d3d11/shaders/compiled/clearanytype11vs.h',
'libANGLE/renderer/d3d/d3d11/shaders/compiled/clearfloat11_fl9ps.h',
'libANGLE/renderer/d3d/d3d11/shaders/compiled/clearfloat11ps.h',
'libANGLE/renderer/d3d/d3d11/shaders/compiled/clearfloat11vs.h',
'libANGLE/renderer/d3d/d3d11/shaders/compiled/clearsint11ps.h',
'libANGLE/renderer/d3d/d3d11/shaders/compiled/clearsint11vs.h',
'libANGLE/renderer/d3d/d3d11/shaders/compiled/clearuint11ps.h',
'libANGLE/renderer/d3d/d3d11/shaders/compiled/clearuint11vs.h',
'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthrough2d11vs.h',
'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthrough3d11gs.h',
'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthrough3d11vs.h',
......@@ -769,6 +770,7 @@
}],
],
},
{
'target_name': 'libANGLE_renderer_config',
'type': 'none',
......@@ -814,6 +816,7 @@
],
},
},
{
'target_name': 'libANGLE',
'type': 'static_library',
......@@ -1106,6 +1109,7 @@
}],
],
},
{
'target_name': 'libGLESv2_static',
'type': 'static_library',
......@@ -1128,4 +1132,4 @@
],
},
],
}
\ No newline at end of file
}
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