Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(103)

Side by Side Diff: conformance/ogles/GL/functions/ivec4_empty_inout_ivec4_empty_vert.vert

Issue 41993002: Add ToT WebGL conformance tests : part 9 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/webgl/sdk/tests/
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1
2 /*
3 ** Copyright (c) 2012 The Khronos Group Inc.
4 **
5 ** Permission is hereby granted, free of charge, to any person obtaining a
6 ** copy of this software and/or associated documentation files (the
7 ** "Materials"), to deal in the Materials without restriction, including
8 ** without limitation the rights to use, copy, modify, merge, publish,
9 ** distribute, sublicense, and/or sell copies of the Materials, and to
10 ** permit persons to whom the Materials are furnished to do so, subject to
11 ** the following conditions:
12 **
13 ** The above copyright notice and this permission notice shall be included
14 ** in all copies or substantial portions of the Materials.
15 **
16 ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17 ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19 ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20 ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21 ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22 ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
23 */
24
25
26 attribute vec4 gtf_Vertex;
27 uniform mat4 gtf_ModelViewProjectionMatrix;
28 varying vec4 color;
29
30 // Function declaration.
31 ivec4 function(inout ivec4 par);
32 bool is_all(const in ivec4 par, const in int value);
33 void set_all(out ivec4 par, const in int value);
34
35 void main (void)
36 {
37 ivec4 par = ivec4(1, 1, 1, 1);
38 ivec4 ret = ivec4(0, 0, 0, 0);
39
40 float gray = 0.0;
41
42 ret = function(par);
43
44 // The parameter should be changed by the function and the function shou ld return 1.
45 if(is_all(par, 0) && is_all(ret, 1))
46 {
47 gray = 1.0;
48 }
49
50 color = vec4(gray, gray, gray, 1.0);
51 gl_Position = gtf_ModelViewProjectionMatrix * gtf_Vertex;
52 }
53
54 // Function definition.
55 ivec4 function(inout ivec4 par)
56 {
57 // Return the value of the parameter.
58 if(is_all(par, 1))
59 {
60 // Test parameter qualifier (default is "in").
61 set_all(par, 0);
62
63 return ivec4(1, 1, 1, 1);
64 }
65 else
66 return ivec4(0, 0, 0, 0);
67 }
68
69 bool is_all(const in ivec4 par, const in int value)
70 {
71 bool ret = true;
72
73 if(par[0] != value)
74 ret = false;
75 if(par[1] != value)
76 ret = false;
77 if(par[2] != value)
78 ret = false;
79 if(par[3] != value)
80 ret = false;
81
82 return ret;
83 }
84
85 void set_all(out ivec4 par, const in int value)
86 {
87 par[0] = value;
88 par[1] = value;
89 par[2] = value;
90 par[3] = value;
91 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698