|
@@ -349,8 +349,8 @@ namespace Ryujinx.Graphics.Vulkan
|
|
|
var srcBuffer = srcBufferAuto.Get(cbs, srcOffset, size).Value;
|
|
var srcBuffer = srcBufferAuto.Get(cbs, srcOffset, size).Value;
|
|
|
var dstBuffer = dstBufferAuto.Get(cbs, 0, newSize).Value;
|
|
var dstBuffer = dstBufferAuto.Get(cbs, 0, newSize).Value;
|
|
|
|
|
|
|
|
- var access = supportsUint8 ? AccessFlags.AccessShaderWriteBit : AccessFlags.AccessTransferWriteBit;
|
|
|
|
|
- var stage = supportsUint8 ? PipelineStageFlags.PipelineStageComputeShaderBit : PipelineStageFlags.PipelineStageTransferBit;
|
|
|
|
|
|
|
+ var access = supportsUint8 ? AccessFlags.ShaderWriteBit : AccessFlags.TransferWriteBit;
|
|
|
|
|
+ var stage = supportsUint8 ? PipelineStageFlags.ComputeShaderBit : PipelineStageFlags.TransferBit;
|
|
|
|
|
|
|
|
BufferHolder.InsertBufferBarrier(
|
|
BufferHolder.InsertBufferBarrier(
|
|
|
gd,
|
|
gd,
|
|
@@ -358,7 +358,7 @@ namespace Ryujinx.Graphics.Vulkan
|
|
|
dstBuffer,
|
|
dstBuffer,
|
|
|
BufferHolder.DefaultAccessFlags,
|
|
BufferHolder.DefaultAccessFlags,
|
|
|
access,
|
|
access,
|
|
|
- PipelineStageFlags.PipelineStageAllCommandsBit,
|
|
|
|
|
|
|
+ PipelineStageFlags.AllCommandsBit,
|
|
|
stage,
|
|
stage,
|
|
|
0,
|
|
0,
|
|
|
newSize);
|
|
newSize);
|
|
@@ -420,7 +420,7 @@ namespace Ryujinx.Graphics.Vulkan
|
|
|
access,
|
|
access,
|
|
|
BufferHolder.DefaultAccessFlags,
|
|
BufferHolder.DefaultAccessFlags,
|
|
|
stage,
|
|
stage,
|
|
|
- PipelineStageFlags.PipelineStageAllCommandsBit,
|
|
|
|
|
|
|
+ PipelineStageFlags.AllCommandsBit,
|
|
|
0,
|
|
0,
|
|
|
newSize);
|
|
newSize);
|
|
|
}
|
|
}
|
|
@@ -484,9 +484,9 @@ namespace Ryujinx.Graphics.Vulkan
|
|
|
cbs.CommandBuffer,
|
|
cbs.CommandBuffer,
|
|
|
dstBuffer,
|
|
dstBuffer,
|
|
|
BufferHolder.DefaultAccessFlags,
|
|
BufferHolder.DefaultAccessFlags,
|
|
|
- AccessFlags.AccessTransferWriteBit,
|
|
|
|
|
- PipelineStageFlags.PipelineStageAllCommandsBit,
|
|
|
|
|
- PipelineStageFlags.PipelineStageTransferBit,
|
|
|
|
|
|
|
+ AccessFlags.TransferWriteBit,
|
|
|
|
|
+ PipelineStageFlags.AllCommandsBit,
|
|
|
|
|
+ PipelineStageFlags.TransferBit,
|
|
|
0,
|
|
0,
|
|
|
convertedCount * outputIndexSize);
|
|
convertedCount * outputIndexSize);
|
|
|
|
|
|
|
@@ -499,10 +499,10 @@ namespace Ryujinx.Graphics.Vulkan
|
|
|
gd,
|
|
gd,
|
|
|
cbs.CommandBuffer,
|
|
cbs.CommandBuffer,
|
|
|
dstBuffer,
|
|
dstBuffer,
|
|
|
- AccessFlags.AccessTransferWriteBit,
|
|
|
|
|
|
|
+ AccessFlags.TransferWriteBit,
|
|
|
BufferHolder.DefaultAccessFlags,
|
|
BufferHolder.DefaultAccessFlags,
|
|
|
- PipelineStageFlags.PipelineStageTransferBit,
|
|
|
|
|
- PipelineStageFlags.PipelineStageAllCommandsBit,
|
|
|
|
|
|
|
+ PipelineStageFlags.TransferBit,
|
|
|
|
|
+ PipelineStageFlags.AllCommandsBit,
|
|
|
0,
|
|
0,
|
|
|
convertedCount * outputIndexSize);
|
|
convertedCount * outputIndexSize);
|
|
|
}
|
|
}
|
|
@@ -548,10 +548,10 @@ namespace Ryujinx.Graphics.Vulkan
|
|
|
cbs.CommandBuffer,
|
|
cbs.CommandBuffer,
|
|
|
src.GetImage().Get(cbs).Value,
|
|
src.GetImage().Get(cbs).Value,
|
|
|
TextureStorage.DefaultAccessMask,
|
|
TextureStorage.DefaultAccessMask,
|
|
|
- AccessFlags.AccessShaderReadBit,
|
|
|
|
|
- PipelineStageFlags.PipelineStageAllCommandsBit,
|
|
|
|
|
- PipelineStageFlags.PipelineStageComputeShaderBit,
|
|
|
|
|
- ImageAspectFlags.ImageAspectColorBit,
|
|
|
|
|
|
|
+ AccessFlags.ShaderReadBit,
|
|
|
|
|
+ PipelineStageFlags.AllCommandsBit,
|
|
|
|
|
+ PipelineStageFlags.ComputeShaderBit,
|
|
|
|
|
+ ImageAspectFlags.ColorBit,
|
|
|
src.FirstLayer + srcLayer,
|
|
src.FirstLayer + srcLayer,
|
|
|
src.FirstLevel,
|
|
src.FirstLevel,
|
|
|
depth,
|
|
depth,
|
|
@@ -610,11 +610,11 @@ namespace Ryujinx.Graphics.Vulkan
|
|
|
gd.Api,
|
|
gd.Api,
|
|
|
cbs.CommandBuffer,
|
|
cbs.CommandBuffer,
|
|
|
dst.GetImage().Get(cbs).Value,
|
|
dst.GetImage().Get(cbs).Value,
|
|
|
- AccessFlags.AccessShaderWriteBit,
|
|
|
|
|
|
|
+ AccessFlags.ShaderWriteBit,
|
|
|
TextureStorage.DefaultAccessMask,
|
|
TextureStorage.DefaultAccessMask,
|
|
|
- PipelineStageFlags.PipelineStageComputeShaderBit,
|
|
|
|
|
- PipelineStageFlags.PipelineStageAllCommandsBit,
|
|
|
|
|
- ImageAspectFlags.ImageAspectColorBit,
|
|
|
|
|
|
|
+ PipelineStageFlags.ComputeShaderBit,
|
|
|
|
|
+ PipelineStageFlags.AllCommandsBit,
|
|
|
|
|
+ ImageAspectFlags.ColorBit,
|
|
|
dst.FirstLayer + dstLayer,
|
|
dst.FirstLayer + dstLayer,
|
|
|
dst.FirstLevel,
|
|
dst.FirstLevel,
|
|
|
depth,
|
|
depth,
|
|
@@ -770,9 +770,9 @@ namespace Ryujinx.Graphics.Vulkan
|
|
|
cbs.CommandBuffer,
|
|
cbs.CommandBuffer,
|
|
|
srcIndirectBuffer.GetBuffer().Get(cbs, srcIndirectBufferOffset, indirectDataSize).Value,
|
|
srcIndirectBuffer.GetBuffer().Get(cbs, srcIndirectBufferOffset, indirectDataSize).Value,
|
|
|
BufferHolder.DefaultAccessFlags,
|
|
BufferHolder.DefaultAccessFlags,
|
|
|
- AccessFlags.AccessShaderReadBit,
|
|
|
|
|
- PipelineStageFlags.PipelineStageAllCommandsBit,
|
|
|
|
|
- PipelineStageFlags.PipelineStageComputeShaderBit,
|
|
|
|
|
|
|
+ AccessFlags.ShaderReadBit,
|
|
|
|
|
+ PipelineStageFlags.AllCommandsBit,
|
|
|
|
|
+ PipelineStageFlags.ComputeShaderBit,
|
|
|
srcIndirectBufferOffset,
|
|
srcIndirectBufferOffset,
|
|
|
indirectDataSize);
|
|
indirectDataSize);
|
|
|
|
|
|
|
@@ -786,10 +786,10 @@ namespace Ryujinx.Graphics.Vulkan
|
|
|
gd,
|
|
gd,
|
|
|
cbs.CommandBuffer,
|
|
cbs.CommandBuffer,
|
|
|
patternBufferAuto.Get(cbs, ParamsIndirectDispatchOffset, ParamsIndirectDispatchSize).Value,
|
|
patternBufferAuto.Get(cbs, ParamsIndirectDispatchOffset, ParamsIndirectDispatchSize).Value,
|
|
|
- AccessFlags.AccessShaderWriteBit,
|
|
|
|
|
- AccessFlags.AccessIndirectCommandReadBit,
|
|
|
|
|
- PipelineStageFlags.PipelineStageComputeShaderBit,
|
|
|
|
|
- PipelineStageFlags.PipelineStageDrawIndirectBit,
|
|
|
|
|
|
|
+ AccessFlags.ShaderWriteBit,
|
|
|
|
|
+ AccessFlags.IndirectCommandReadBit,
|
|
|
|
|
+ PipelineStageFlags.ComputeShaderBit,
|
|
|
|
|
+ PipelineStageFlags.DrawIndirectBit,
|
|
|
ParamsIndirectDispatchOffset,
|
|
ParamsIndirectDispatchOffset,
|
|
|
ParamsIndirectDispatchSize);
|
|
ParamsIndirectDispatchSize);
|
|
|
|
|
|
|
@@ -798,9 +798,9 @@ namespace Ryujinx.Graphics.Vulkan
|
|
|
cbs.CommandBuffer,
|
|
cbs.CommandBuffer,
|
|
|
dstBuffer,
|
|
dstBuffer,
|
|
|
BufferHolder.DefaultAccessFlags,
|
|
BufferHolder.DefaultAccessFlags,
|
|
|
- AccessFlags.AccessTransferWriteBit,
|
|
|
|
|
- PipelineStageFlags.PipelineStageAllCommandsBit,
|
|
|
|
|
- PipelineStageFlags.PipelineStageTransferBit,
|
|
|
|
|
|
|
+ AccessFlags.TransferWriteBit,
|
|
|
|
|
+ PipelineStageFlags.AllCommandsBit,
|
|
|
|
|
+ PipelineStageFlags.TransferBit,
|
|
|
0,
|
|
0,
|
|
|
convertedCount * outputIndexSize);
|
|
convertedCount * outputIndexSize);
|
|
|
|
|
|
|
@@ -814,10 +814,10 @@ namespace Ryujinx.Graphics.Vulkan
|
|
|
gd,
|
|
gd,
|
|
|
cbs.CommandBuffer,
|
|
cbs.CommandBuffer,
|
|
|
dstBuffer,
|
|
dstBuffer,
|
|
|
- AccessFlags.AccessTransferWriteBit,
|
|
|
|
|
|
|
+ AccessFlags.TransferWriteBit,
|
|
|
BufferHolder.DefaultAccessFlags,
|
|
BufferHolder.DefaultAccessFlags,
|
|
|
- PipelineStageFlags.PipelineStageTransferBit,
|
|
|
|
|
- PipelineStageFlags.PipelineStageAllCommandsBit,
|
|
|
|
|
|
|
+ PipelineStageFlags.TransferBit,
|
|
|
|
|
+ PipelineStageFlags.AllCommandsBit,
|
|
|
0,
|
|
0,
|
|
|
convertedCount * outputIndexSize);
|
|
convertedCount * outputIndexSize);
|
|
|
|
|
|