Index: /trunk/src/VBox/Devices/Graphics/shaderlib/shader.c
===================================================================
--- /trunk/src/VBox/Devices/Graphics/shaderlib/shader.c	(revision 82710)
+++ /trunk/src/VBox/Devices/Graphics/shaderlib/shader.c	(revision 82711)
@@ -438,5 +438,5 @@
         default:
             TRACE("Not recording register of type %#x and idx %u\n", reg->type, reg->idx);
-            return E_INVALIDARG;
+            break;
     }
 
@@ -685,5 +685,5 @@
 
                 hr = shader_record_register_usage(shader, reg_maps, &dst_param.reg, shader_version.type);
-                AssertReturn(FAILED(hr), hr);
+                AssertReturn(SUCCEEDED(hr), hr);
 
                 /* WINED3DSPR_TEXCRDOUT is the same as WINED3DSPR_OUTPUT. _OUTPUT can be > MAX_REG_TEXCRD and
@@ -743,5 +743,4 @@
                 {
                     unsigned int sampler_idx;
-                    AssertReturn(shader_version.major == 1, E_INVALIDARG);
 
                     /* Fake sampler usage, only set reserved bit and type. */
@@ -793,5 +792,5 @@
 
                 hr = shader_record_register_usage(shader, reg_maps, &src_param.reg, shader_version.type);
-                AssertReturn(FAILED(hr), hr);
+                AssertReturn(SUCCEEDED(hr), hr);
 
                 while (count)
@@ -799,5 +798,5 @@
                     ++src_param.reg.idx;
                     hr = shader_record_register_usage(shader, reg_maps, &src_param.reg, shader_version.type);
-                    AssertReturn(FAILED(hr), hr);
+                    AssertReturn(SUCCEEDED(hr), hr);
                     --count;
                 }
