Mesa (master): d3d1x: don't assert on unsupported resource types

Luca Barbieri lb at kemper.freedesktop.org
Fri Sep 24 09:19:25 UTC 2010


Module: Mesa
Branch: master
Commit: 0e40b41ceec15d97507fe85343daad54aa1c4824
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0e40b41ceec15d97507fe85343daad54aa1c4824

Author: Luca Barbieri <luca at luca-barbieri.com>
Date:   Thu Sep 23 18:24:34 2010 +0200

d3d1x: don't assert on unsupported resource types

---

 .../state_trackers/d3d1x/gd3d1x/sm4_to_tgsi.cpp    |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/src/gallium/state_trackers/d3d1x/gd3d1x/sm4_to_tgsi.cpp b/src/gallium/state_trackers/d3d1x/gd3d1x/sm4_to_tgsi.cpp
index 7d03cec..66b6866 100644
--- a/src/gallium/state_trackers/d3d1x/gd3d1x/sm4_to_tgsi.cpp
+++ b/src/gallium/state_trackers/d3d1x/gd3d1x/sm4_to_tgsi.cpp
@@ -720,14 +720,18 @@ next:;
 				break;
 			case SM4_OPCODE_DCL_INPUT:
 				check(idx >= 0);
-				if(inputs.size() <= (unsigned)idx)
-					inputs.resize(idx + 1);
 				if(processor == TGSI_PROCESSOR_VERTEX)
+				{
+					if(inputs.size() <= (unsigned)idx)
+						inputs.resize(idx + 1);
 					inputs[idx] = ureg_DECL_vs_input(ureg, idx);
+				}
 				else if(processor == TGSI_PROCESSOR_GEOMETRY)
 				{
 					// TODO: is this correct?
 					unsigned gsidx = dcl.op->indices[1].disp;
+					if(inputs.size() <= (unsigned)gsidx)
+						inputs.resize(gsidx + 1);
 					inputs[gsidx] = ureg_DECL_gs_input(ureg, gsidx, TGSI_SEMANTIC_GENERIC, gsidx);
 				}
 				else
@@ -789,7 +793,11 @@ next:;
 					targets[idx].second = 0;
 					break;
 				default:
-					check(0);
+					// HACK to make SimpleSample10 work
+					//check(0);
+					targets[idx].first = TGSI_TEXTURE_2D;
+					targets[idx].second = TGSI_TEXTURE_SHADOW2D;
+					break;
 				}
 				break;
 			case SM4_OPCODE_DCL_SAMPLER:




More information about the mesa-commit mailing list