Răsfoiți Sursa

Fix 3D texture as render target on DX12

clementlandrin 3 luni în urmă
părinte
comite
6abf835980
1 a modificat fișierele cu 8 adăugiri și 1 ștergeri
  1. 8 1
      h3d/impl/DX12Driver.hx

+ 8 - 1
h3d/impl/DX12Driver.hx

@@ -807,8 +807,9 @@ class DX12Driver extends h3d.impl.Driver {
 		depthEnabled = depthBinding != NotBound;
 
 		var isArr = tex != null && (tex.flags.has(IsArray) || tex.flags.has(Cube));
+		var is3D = tex != null && tex.flags.has(Is3D);
 		var desc = null;
-		if( layer != 0 || mipLevel != 0 || isArr ) {
+		if( layer != 0 || mipLevel != 0 || isArr || is3D ) {
 			desc = tmp.rtvDesc;
 			desc.format = tex.t.format;
 			if( isArr ) {
@@ -817,6 +818,12 @@ class DX12Driver extends h3d.impl.Driver {
 				desc.firstArraySlice = layer;
 				desc.arraySize = 1;
 				desc.planeSlice = 0;
+			} else if ( is3D ) {
+				desc.viewDimension = TEXTURE3D;
+				desc.mipSlice = mipLevel;
+				desc.firstArraySlice = layer;
+				desc.arraySize = 1;
+				desc.planeSlice = 0;
 			} else {
 				desc.viewDimension = TEXTURE2D;
 				desc.mipSlice = mipLevel;