1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-02-18 13:54:16 +01:00

[dxvk] Accept VkClearValue in DxvkContext::clearImageView

This commit is contained in:
Philip Rebohle 2018-08-15 18:06:52 +02:00
parent da21a6db7f
commit beedd39f7d
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99
3 changed files with 17 additions and 15 deletions

View File

@ -651,11 +651,11 @@ namespace dxvk {
}
// Set up clear color struct
VkClearColorValue clearValue;
clearValue.uint32[0] = Values[0];
clearValue.uint32[1] = Values[1];
clearValue.uint32[2] = Values[2];
clearValue.uint32[3] = Values[3];
VkClearValue clearValue;
clearValue.color.uint32[0] = Values[0];
clearValue.color.uint32[1] = Values[1];
clearValue.color.uint32[2] = Values[2];
clearValue.color.uint32[3] = Values[3];
if (uav->GetResourceType() == D3D11_RESOURCE_DIMENSION_BUFFER) {
// In case of raw and structured buffers as well as typed
@ -693,7 +693,7 @@ namespace dxvk {
ctx->clearBufferView(
cDstView, 0,
cDstView->elementCount(),
cClearValue);
cClearValue.color);
});
}
} else {
@ -729,11 +729,11 @@ namespace dxvk {
if (uav == nullptr)
return;
VkClearColorValue clearValue;
clearValue.float32[0] = Values[0];
clearValue.float32[1] = Values[1];
clearValue.float32[2] = Values[2];
clearValue.float32[3] = Values[3];
VkClearValue clearValue;
clearValue.color.float32[0] = Values[0];
clearValue.color.float32[1] = Values[1];
clearValue.color.float32[2] = Values[2];
clearValue.color.float32[3] = Values[3];
if (uav->GetResourceType() == D3D11_RESOURCE_DIMENSION_BUFFER) {
EmitCs([
@ -743,7 +743,7 @@ namespace dxvk {
ctx->clearBufferView(
cDstView, 0,
cDstView->elementCount(),
cClearValue);
cClearValue.color);
});
} else {
EmitCs([
@ -799,6 +799,7 @@ namespace dxvk {
});
}
void STDMETHODCALLTYPE D3D11DeviceContext::ClearView(
ID3D11View* pView,
const FLOAT Color[4],
@ -807,6 +808,7 @@ namespace dxvk {
Logger::err("D3D11DeviceContext::ClearView: not implemented");
}
void STDMETHODCALLTYPE D3D11DeviceContext::GenerateMips(ID3D11ShaderResourceView* pShaderResourceView) {
auto view = static_cast<D3D11ShaderResourceView*>(pShaderResourceView);

View File

@ -531,7 +531,7 @@ namespace dxvk {
const Rc<DxvkImageView>& imageView,
VkOffset3D offset,
VkExtent3D extent,
VkClearColorValue value) {
VkClearValue value) {
this->spillRenderPass();
this->unbindComputePipeline();
@ -565,7 +565,7 @@ namespace dxvk {
// Prepare shader arguments
DxvkMetaClearArgs pushArgs;
pushArgs.clearValue = value;
pushArgs.clearValue = value.color;
pushArgs.offset = offset;
pushArgs.extent = extent;

View File

@ -244,7 +244,7 @@ namespace dxvk {
const Rc<DxvkImageView>& imageView,
VkOffset3D offset,
VkExtent3D extent,
VkClearColorValue value);
VkClearValue value);
/**
* \brief Copies data from one buffer to another