mirror of
https://github.com/EduApps-CDG/OpenDX
synced 2024-12-30 09:45:37 +01:00
[dxvk] Unbind incompatible resources
This commit is contained in:
parent
6f1ed72b78
commit
f69d2481a0
@ -89,6 +89,9 @@ namespace dxvk {
|
|||||||
uint32_t slot,
|
uint32_t slot,
|
||||||
const DxvkBufferSlice& buffer) {
|
const DxvkBufferSlice& buffer) {
|
||||||
if (!m_rc[slot].bufferSlice.matches(buffer)) {
|
if (!m_rc[slot].bufferSlice.matches(buffer)) {
|
||||||
|
m_rc[slot].sampler = nullptr;
|
||||||
|
m_rc[slot].imageView = nullptr;
|
||||||
|
m_rc[slot].bufferView = nullptr;
|
||||||
m_rc[slot].bufferSlice = buffer;
|
m_rc[slot].bufferSlice = buffer;
|
||||||
|
|
||||||
m_flags.set(
|
m_flags.set(
|
||||||
@ -102,7 +105,10 @@ namespace dxvk {
|
|||||||
uint32_t slot,
|
uint32_t slot,
|
||||||
const Rc<DxvkBufferView>& bufferView) {
|
const Rc<DxvkBufferView>& bufferView) {
|
||||||
if (m_rc[slot].bufferView != bufferView) {
|
if (m_rc[slot].bufferView != bufferView) {
|
||||||
m_rc[slot].bufferView = bufferView;
|
m_rc[slot].sampler = nullptr;
|
||||||
|
m_rc[slot].imageView = nullptr;
|
||||||
|
m_rc[slot].bufferView = bufferView;
|
||||||
|
m_rc[slot].bufferSlice = DxvkBufferSlice();
|
||||||
|
|
||||||
m_flags.set(
|
m_flags.set(
|
||||||
DxvkContextFlag::CpDirtyResources,
|
DxvkContextFlag::CpDirtyResources,
|
||||||
@ -115,7 +121,10 @@ namespace dxvk {
|
|||||||
uint32_t slot,
|
uint32_t slot,
|
||||||
const Rc<DxvkImageView>& image) {
|
const Rc<DxvkImageView>& image) {
|
||||||
if (m_rc[slot].imageView != image) {
|
if (m_rc[slot].imageView != image) {
|
||||||
m_rc[slot].imageView = image;
|
m_rc[slot].sampler = nullptr;
|
||||||
|
m_rc[slot].imageView = image;
|
||||||
|
m_rc[slot].bufferView = nullptr;
|
||||||
|
m_rc[slot].bufferSlice = DxvkBufferSlice();
|
||||||
|
|
||||||
m_flags.set(
|
m_flags.set(
|
||||||
DxvkContextFlag::CpDirtyResources,
|
DxvkContextFlag::CpDirtyResources,
|
||||||
@ -128,7 +137,10 @@ namespace dxvk {
|
|||||||
uint32_t slot,
|
uint32_t slot,
|
||||||
const Rc<DxvkSampler>& sampler) {
|
const Rc<DxvkSampler>& sampler) {
|
||||||
if (m_rc[slot].sampler != sampler) {
|
if (m_rc[slot].sampler != sampler) {
|
||||||
m_rc[slot].sampler = sampler;
|
m_rc[slot].sampler = sampler;
|
||||||
|
m_rc[slot].imageView = nullptr;
|
||||||
|
m_rc[slot].bufferView = nullptr;
|
||||||
|
m_rc[slot].bufferSlice = DxvkBufferSlice();
|
||||||
|
|
||||||
m_flags.set(
|
m_flags.set(
|
||||||
DxvkContextFlag::CpDirtyResources,
|
DxvkContextFlag::CpDirtyResources,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user