With this patch, there is one case where we hit the "undefined case" of the spec (mismatch between different shaders): With streamout we use a dummy pixel created by utils instead of nine_shader.

As we use software renderers for the feature doing the streamout, I guess that's ok for now.

Thanks for the patches. I hope support from more drivers will follow, and that a GL extension will be implemented for wine.

Patches 1-3 are Reviewed-by: <[email protected]>

On 17/01/2017 04:28, Ilia Mirkin wrote:
Signed-off-by: Ilia Mirkin <[email protected]>
---

v1 -> v2: make conditional on the cap being there

  src/gallium/state_trackers/nine/nine_shader.c | 3 +++
  1 file changed, 3 insertions(+)

diff --git a/src/gallium/state_trackers/nine/nine_shader.c 
b/src/gallium/state_trackers/nine/nine_shader.c
index 0a75c07..95bc6ec 100644
--- a/src/gallium/state_trackers/nine/nine_shader.c
+++ b/src/gallium/state_trackers/nine/nine_shader.c
@@ -3564,6 +3564,9 @@ nine_translate_shader(struct NineDevice9 *device, struct 
nine_shader_info *info,
              ureg_property(tx->ureg, TGSI_PROPERTY_FS_COORD_PIXEL_CENTER, 
TGSI_FS_COORD_PIXEL_CENTER_INTEGER);
      }
+ if (GET_CAP(TGSI_MUL_ZERO_WINS))
+       ureg_property(tx->ureg, TGSI_PROPERTY_MUL_ZERO_WINS, 1);
+
      while (!sm1_parse_eof(tx) && !tx->failure)
          sm1_parse_instruction(tx);
      tx->parse++; /* for byte_size */


_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to