• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //
2 // Copyright 2017 The ANGLE Project Authors. All rights reserved.
3 // Use of this source code is governed by a BSD-style license that can be
4 // found in the LICENSE file.
5 //
6 // ConformanceTests.cpp:
7 //   GLES1 conformance tests.
8 //   Function prototypes taken from tproto.h and turned into gtest tests using a macro.
9 //
10 
11 #include "test_utils/ANGLETest.h"
12 #include "test_utils/gl_raii.h"
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 // ES 1.0
19 extern long AmbLightExec(void);
20 extern long AmbMatExec(void);
21 extern long AmbSceneExec(void);
22 extern long APFuncExec(void);
23 extern long AtnConstExec(void);
24 extern long AtnPosExec(void);
25 extern long BClearExec(void);
26 extern long BColorExec(void);
27 extern long BCornerExec(void);
28 extern long BlendExec(void);
29 extern long ClipExec(void);
30 extern long ColRampExec(void);
31 extern long CopyTexExec(void);
32 extern long DifLightExec(void);
33 extern long DifMatExec(void);
34 extern long DifMatNormExec(void);
35 extern long DifMatPosExec(void);
36 extern long DitherExec(void);
37 extern long DivZeroExec(void);
38 extern long EmitMatExec(void);
39 extern long FogExpExec(void);
40 extern long FogLinExec(void);
41 extern long LineAntiAliasExec(void);
42 extern long LineHVExec(void);
43 extern long LineRasterExec(void);
44 extern long LogicOpExec(void);
45 extern long MipExec(void);
46 extern long MipLevelsExec(void);
47 extern long MipLinExec(void);
48 extern long MipSelectExec(void);
49 extern long MaskExec(void);
50 extern long MatrixStackExec(void);
51 extern long MultiTexExec(void);
52 extern long MustPassExec(void);
53 extern long PackedPixelsExec(void);
54 extern long PointAntiAliasExec(void);
55 extern long PointRasterExec(void);
56 extern long PolyCullExec(void);
57 extern long ReadFormatExec(void);
58 extern long RescaleNormalExec(void);
59 extern long ScissorExec(void);
60 extern long SPClearExec(void);
61 extern long SPCornerExec(void);
62 extern long SpecExpExec(void);
63 extern long SpecExpNormExec(void);
64 extern long SpecLightExec(void);
65 extern long SpecMatExec(void);
66 extern long SpecNormExec(void);
67 extern long SPFuncExec(void);
68 extern long SPOpExec(void);
69 extern long SpotPosExec(void);
70 extern long SpotExpPosExec(void);
71 extern long SpotExpDirExec(void);
72 extern long TexDecalExec(void);
73 extern long TexPaletExec(void);
74 extern long TextureEdgeClampExec(void);
75 extern long TriRasterExec(void);
76 extern long TriTileExec(void);
77 extern long VertexOrderExec(void);
78 extern long ViewportClampExec(void);
79 extern long XFormExec(void);
80 extern long XFormMixExec(void);
81 extern long XFormNormalExec(void);
82 extern long XFormViewportExec(void);
83 extern long XFormHomogenousExec(void);
84 extern long ZBClearExec(void);
85 extern long ZBFuncExec(void);
86 
87 // GL_OES_draw_texture
88 extern long DrawTexExec(void);
89 
90 // GL_OES_query_matrix
91 extern long MatrixQueryExec(void);
92 
93 // ES 1.1
94 extern long BufferObjectExec(void);
95 extern long PointSizeArrayExec(void);
96 extern long PointSpriteExec(void);
97 extern long UserClipExec(void);
98 extern long MatrixGetTestExec(void);
99 extern long GetsExec(void);
100 extern long TexCombineExec(void);
101 
102 // GL_OES_matrix_palette
103 extern long MatrixPaletteExec(void);
104 
105 // Test driver setup
106 void BufferSetup(void);
107 void EpsilonSetup(void);
108 void StateSetup(void);
109 
110 #define CONFORMANCE_TEST_ERROR (-1)
111 
112 #include "conform.h"
113 
114 #ifdef __cplusplus
115 }
116 
117 #endif
118 namespace angle
119 {
120 class GLES1ConformanceTest : public ANGLETest<>
121 {
122   protected:
GLES1ConformanceTest()123     GLES1ConformanceTest()
124     {
125         setWindowWidth(WINDSIZEX);
126         setWindowHeight(WINDSIZEY);
127         setConfigRedBits(8);
128         setConfigGreenBits(8);
129         setConfigBlueBits(8);
130         setConfigAlphaBits(8);
131         setConfigDepthBits(24);
132         setConfigStencilBits(8);
133     }
134 
testSetUp()135     void testSetUp() override
136     {
137         BufferSetup();
138         EpsilonSetup();
139         StateSetup();
140 
141         machine = {};
142         // Default parameters taken from shell.c.  Verbosity is increased so test failures come with
143         // information.
144         machine.randSeed       = 1;
145         machine.verboseLevel   = 2;
146         machine.stateCheckFlag = GL_TRUE;
147     }
148 };
149 
TEST_P(GLES1ConformanceTest,AmbLight)150 TEST_P(GLES1ConformanceTest, AmbLight)
151 {
152     // Flaky timeouts due to slow test. http://anglebug.com/5234
153     ANGLE_SKIP_TEST_IF(IsVulkan());
154     ASSERT_NE(CONFORMANCE_TEST_ERROR, AmbLightExec());
155 }
156 
TEST_P(GLES1ConformanceTest,AmbMat)157 TEST_P(GLES1ConformanceTest, AmbMat)
158 {
159     ASSERT_NE(CONFORMANCE_TEST_ERROR, AmbMatExec());
160 }
161 
TEST_P(GLES1ConformanceTest,AmbScene)162 TEST_P(GLES1ConformanceTest, AmbScene)
163 {
164     ASSERT_NE(CONFORMANCE_TEST_ERROR, AmbSceneExec());
165 }
166 
TEST_P(GLES1ConformanceTest,APFunc)167 TEST_P(GLES1ConformanceTest, APFunc)
168 {
169     ASSERT_NE(CONFORMANCE_TEST_ERROR, APFuncExec());
170 }
171 
TEST_P(GLES1ConformanceTest,AtnConst)172 TEST_P(GLES1ConformanceTest, AtnConst)
173 {
174     ASSERT_NE(CONFORMANCE_TEST_ERROR, AtnConstExec());
175 }
176 
TEST_P(GLES1ConformanceTest,AtnPos)177 TEST_P(GLES1ConformanceTest, AtnPos)
178 {
179     ASSERT_NE(CONFORMANCE_TEST_ERROR, AtnPosExec());
180 }
181 
TEST_P(GLES1ConformanceTest,BClear)182 TEST_P(GLES1ConformanceTest, BClear)
183 {
184     ASSERT_NE(CONFORMANCE_TEST_ERROR, BClearExec());
185 }
186 
TEST_P(GLES1ConformanceTest,BColor)187 TEST_P(GLES1ConformanceTest, BColor)
188 {
189     ASSERT_NE(CONFORMANCE_TEST_ERROR, BColorExec());
190 }
191 
TEST_P(GLES1ConformanceTest,BCorner)192 TEST_P(GLES1ConformanceTest, BCorner)
193 {
194     ASSERT_NE(CONFORMANCE_TEST_ERROR, BCornerExec());
195 }
196 
TEST_P(GLES1ConformanceTest,Blend)197 TEST_P(GLES1ConformanceTest, Blend)
198 {
199     // Slow test, takes over 20 seconds in some configs. http://anglebug.com/5171
200     ANGLE_SKIP_TEST_IF(IsVulkan() && IsIntel() && IsWindows());
201     ASSERT_NE(CONFORMANCE_TEST_ERROR, BlendExec());
202 }
203 
TEST_P(GLES1ConformanceTest,Clip)204 TEST_P(GLES1ConformanceTest, Clip)
205 {
206     ASSERT_NE(CONFORMANCE_TEST_ERROR, ClipExec());
207 }
208 
TEST_P(GLES1ConformanceTest,ColRamp)209 TEST_P(GLES1ConformanceTest, ColRamp)
210 {
211     ASSERT_NE(CONFORMANCE_TEST_ERROR, ColRampExec());
212 }
213 
TEST_P(GLES1ConformanceTest,CopyTex)214 TEST_P(GLES1ConformanceTest, CopyTex)
215 {
216     ASSERT_NE(CONFORMANCE_TEST_ERROR, CopyTexExec());
217 }
218 
TEST_P(GLES1ConformanceTest,DifLight)219 TEST_P(GLES1ConformanceTest, DifLight)
220 {
221     ASSERT_NE(CONFORMANCE_TEST_ERROR, DifLightExec());
222 }
223 
TEST_P(GLES1ConformanceTest,DifMat)224 TEST_P(GLES1ConformanceTest, DifMat)
225 {
226     ASSERT_NE(CONFORMANCE_TEST_ERROR, DifMatExec());
227 }
228 
TEST_P(GLES1ConformanceTest,DifMatNorm)229 TEST_P(GLES1ConformanceTest, DifMatNorm)
230 {
231     ASSERT_NE(CONFORMANCE_TEST_ERROR, DifMatNormExec());
232 }
233 
TEST_P(GLES1ConformanceTest,DifMatPos)234 TEST_P(GLES1ConformanceTest, DifMatPos)
235 {
236     ASSERT_NE(CONFORMANCE_TEST_ERROR, DifMatPosExec());
237 }
238 
TEST_P(GLES1ConformanceTest,Dither)239 TEST_P(GLES1ConformanceTest, Dither)
240 {
241     ASSERT_NE(CONFORMANCE_TEST_ERROR, DitherExec());
242 }
243 
TEST_P(GLES1ConformanceTest,DivZero)244 TEST_P(GLES1ConformanceTest, DivZero)
245 {
246     ASSERT_NE(CONFORMANCE_TEST_ERROR, DivZeroExec());
247 }
248 
TEST_P(GLES1ConformanceTest,EmitMat)249 TEST_P(GLES1ConformanceTest, EmitMat)
250 {
251     ASSERT_NE(CONFORMANCE_TEST_ERROR, EmitMatExec());
252 }
253 
TEST_P(GLES1ConformanceTest,FogExp)254 TEST_P(GLES1ConformanceTest, FogExp)
255 {
256     ASSERT_NE(CONFORMANCE_TEST_ERROR, FogExpExec());
257 }
258 
TEST_P(GLES1ConformanceTest,FogLin)259 TEST_P(GLES1ConformanceTest, FogLin)
260 {
261     ASSERT_NE(CONFORMANCE_TEST_ERROR, FogLinExec());
262 }
263 
TEST_P(GLES1ConformanceTest,LineAntiAlias)264 TEST_P(GLES1ConformanceTest, LineAntiAlias)
265 {
266     ANGLE_SKIP_TEST_IF(true);
267     ASSERT_NE(CONFORMANCE_TEST_ERROR, LineAntiAliasExec());
268 }
269 
TEST_P(GLES1ConformanceTest,LineHV)270 TEST_P(GLES1ConformanceTest, LineHV)
271 {
272     ASSERT_NE(CONFORMANCE_TEST_ERROR, LineHVExec());
273 }
274 
TEST_P(GLES1ConformanceTest,LineRaster)275 TEST_P(GLES1ConformanceTest, LineRaster)
276 {
277     ASSERT_NE(CONFORMANCE_TEST_ERROR, LineRasterExec());
278 }
279 
TEST_P(GLES1ConformanceTest,LogicOp)280 TEST_P(GLES1ConformanceTest, LogicOp)
281 {
282     // Only supported if logicOp or framebuffer fetch is supported by the backend.
283     //
284     // - Desktop GL: has logicOp support
285     // - GLES: has framebuffer fetch support
286     // - Vulkan: has logicOp support on desktop, and framebuffer fetch support otherwise.
287     //    * Non-coherent framebuffer fetch is disabled on Qualcomm due to app bugs, and coherent is
288     //      not supported.
289     ANGLE_SKIP_TEST_IF(!IsOpenGL() && !IsVulkan());
290     ANGLE_SKIP_TEST_IF(IsVulkan() && IsQualcomm());
291 
292     ASSERT_NE(CONFORMANCE_TEST_ERROR, LogicOpExec());
293 }
294 
TEST_P(GLES1ConformanceTest,Mip)295 TEST_P(GLES1ConformanceTest, Mip)
296 {
297     ASSERT_NE(CONFORMANCE_TEST_ERROR, MipExec());
298 }
299 
TEST_P(GLES1ConformanceTest,MipLevels)300 TEST_P(GLES1ConformanceTest, MipLevels)
301 {
302     ASSERT_NE(CONFORMANCE_TEST_ERROR, MipLevelsExec());
303 }
304 
TEST_P(GLES1ConformanceTest,MipLin)305 TEST_P(GLES1ConformanceTest, MipLin)
306 {
307     ASSERT_NE(CONFORMANCE_TEST_ERROR, MipLinExec());
308 }
309 
TEST_P(GLES1ConformanceTest,MipSelect)310 TEST_P(GLES1ConformanceTest, MipSelect)
311 {
312     ASSERT_NE(CONFORMANCE_TEST_ERROR, MipSelectExec());
313 }
314 
TEST_P(GLES1ConformanceTest,Mask)315 TEST_P(GLES1ConformanceTest, Mask)
316 {
317     ASSERT_NE(CONFORMANCE_TEST_ERROR, MaskExec());
318 }
319 
TEST_P(GLES1ConformanceTest,MatrixStack)320 TEST_P(GLES1ConformanceTest, MatrixStack)
321 {
322     ASSERT_NE(CONFORMANCE_TEST_ERROR, MatrixStackExec());
323 }
324 
TEST_P(GLES1ConformanceTest,MultiTex)325 TEST_P(GLES1ConformanceTest, MultiTex)
326 {
327     ASSERT_NE(CONFORMANCE_TEST_ERROR, MultiTexExec());
328 }
329 
TEST_P(GLES1ConformanceTest,MustPass)330 TEST_P(GLES1ConformanceTest, MustPass)
331 {
332     ANGLE_SKIP_TEST_IF(true);
333     ASSERT_NE(CONFORMANCE_TEST_ERROR, MustPassExec());
334 }
335 
TEST_P(GLES1ConformanceTest,PackedPixels)336 TEST_P(GLES1ConformanceTest, PackedPixels)
337 {
338     ASSERT_NE(CONFORMANCE_TEST_ERROR, PackedPixelsExec());
339 }
340 
TEST_P(GLES1ConformanceTest,PointAntiAlias)341 TEST_P(GLES1ConformanceTest, PointAntiAlias)
342 {
343     ASSERT_NE(CONFORMANCE_TEST_ERROR, PointAntiAliasExec());
344 }
345 
TEST_P(GLES1ConformanceTest,PointRaster)346 TEST_P(GLES1ConformanceTest, PointRaster)
347 {
348     ASSERT_NE(CONFORMANCE_TEST_ERROR, PointRasterExec());
349 }
350 
TEST_P(GLES1ConformanceTest,PolyCull)351 TEST_P(GLES1ConformanceTest, PolyCull)
352 {
353     ASSERT_NE(CONFORMANCE_TEST_ERROR, PolyCullExec());
354 }
355 
TEST_P(GLES1ConformanceTest,ReadFormat)356 TEST_P(GLES1ConformanceTest, ReadFormat)
357 {
358     ASSERT_NE(CONFORMANCE_TEST_ERROR, ReadFormatExec());
359 }
360 
TEST_P(GLES1ConformanceTest,RescaleNormal)361 TEST_P(GLES1ConformanceTest, RescaleNormal)
362 {
363     ASSERT_NE(CONFORMANCE_TEST_ERROR, RescaleNormalExec());
364 }
365 
TEST_P(GLES1ConformanceTest,Scissor)366 TEST_P(GLES1ConformanceTest, Scissor)
367 {
368     ASSERT_NE(CONFORMANCE_TEST_ERROR, ScissorExec());
369 }
370 
TEST_P(GLES1ConformanceTest,SPClear)371 TEST_P(GLES1ConformanceTest, SPClear)
372 {
373     // http://anglebug.com/7676
374     ANGLE_SKIP_TEST_IF(IsQualcomm() && IsVulkan());
375     ASSERT_NE(CONFORMANCE_TEST_ERROR, SPClearExec());
376 }
377 
TEST_P(GLES1ConformanceTest,SPCorner)378 TEST_P(GLES1ConformanceTest, SPCorner)
379 {
380     // http://anglebug.com/7676
381     ANGLE_SKIP_TEST_IF(IsQualcomm());
382     ASSERT_NE(CONFORMANCE_TEST_ERROR, SPCornerExec());
383 }
384 
TEST_P(GLES1ConformanceTest,SpecExp)385 TEST_P(GLES1ConformanceTest, SpecExp)
386 {
387     ASSERT_NE(CONFORMANCE_TEST_ERROR, SpecExpExec());
388 }
389 
TEST_P(GLES1ConformanceTest,SpecExpNorm)390 TEST_P(GLES1ConformanceTest, SpecExpNorm)
391 {
392     ASSERT_NE(CONFORMANCE_TEST_ERROR, SpecExpNormExec());
393 }
394 
TEST_P(GLES1ConformanceTest,SpecLight)395 TEST_P(GLES1ConformanceTest, SpecLight)
396 {
397     ASSERT_NE(CONFORMANCE_TEST_ERROR, SpecLightExec());
398 }
399 
TEST_P(GLES1ConformanceTest,SpecMat)400 TEST_P(GLES1ConformanceTest, SpecMat)
401 {
402     ASSERT_NE(CONFORMANCE_TEST_ERROR, SpecMatExec());
403 }
404 
TEST_P(GLES1ConformanceTest,SpecNorm)405 TEST_P(GLES1ConformanceTest, SpecNorm)
406 {
407     ASSERT_NE(CONFORMANCE_TEST_ERROR, SpecNormExec());
408 }
409 
TEST_P(GLES1ConformanceTest,SPFunc)410 TEST_P(GLES1ConformanceTest, SPFunc)
411 {
412     ASSERT_NE(CONFORMANCE_TEST_ERROR, SPFuncExec());
413 }
414 
TEST_P(GLES1ConformanceTest,SPOp)415 TEST_P(GLES1ConformanceTest, SPOp)
416 {
417     // http://anglebug.com/7676
418     ANGLE_SKIP_TEST_IF(IsQualcomm());
419     ASSERT_NE(CONFORMANCE_TEST_ERROR, SPOpExec());
420 }
421 
TEST_P(GLES1ConformanceTest,SpotPos)422 TEST_P(GLES1ConformanceTest, SpotPos)
423 {
424     ASSERT_NE(CONFORMANCE_TEST_ERROR, SpotPosExec());
425 }
426 
TEST_P(GLES1ConformanceTest,SpotExpPos)427 TEST_P(GLES1ConformanceTest, SpotExpPos)
428 {
429     ASSERT_NE(CONFORMANCE_TEST_ERROR, SpotExpPosExec());
430 }
431 
TEST_P(GLES1ConformanceTest,SpotExpDir)432 TEST_P(GLES1ConformanceTest, SpotExpDir)
433 {
434     ASSERT_NE(CONFORMANCE_TEST_ERROR, SpotExpDirExec());
435 }
436 
TEST_P(GLES1ConformanceTest,TexDecal)437 TEST_P(GLES1ConformanceTest, TexDecal)
438 {
439     ASSERT_NE(CONFORMANCE_TEST_ERROR, TexDecalExec());
440 }
441 
TEST_P(GLES1ConformanceTest,TexPalet)442 TEST_P(GLES1ConformanceTest, TexPalet)
443 {
444     ANGLE_SKIP_TEST_IF(!IsVulkan());
445     ASSERT_NE(CONFORMANCE_TEST_ERROR, TexPaletExec());
446 }
447 
TEST_P(GLES1ConformanceTest,TextureEdgeClamp)448 TEST_P(GLES1ConformanceTest, TextureEdgeClamp)
449 {
450     ASSERT_NE(CONFORMANCE_TEST_ERROR, TextureEdgeClampExec());
451 }
452 
TEST_P(GLES1ConformanceTest,TriRaster)453 TEST_P(GLES1ConformanceTest, TriRaster)
454 {
455     ASSERT_NE(CONFORMANCE_TEST_ERROR, TriRasterExec());
456 }
457 
TEST_P(GLES1ConformanceTest,TriTile)458 TEST_P(GLES1ConformanceTest, TriTile)
459 {
460     ASSERT_NE(CONFORMANCE_TEST_ERROR, TriTileExec());
461 }
462 
TEST_P(GLES1ConformanceTest,VertexOrder)463 TEST_P(GLES1ConformanceTest, VertexOrder)
464 {
465     ASSERT_NE(CONFORMANCE_TEST_ERROR, VertexOrderExec());
466 }
467 
TEST_P(GLES1ConformanceTest,ViewportClamp)468 TEST_P(GLES1ConformanceTest, ViewportClamp)
469 {
470     ASSERT_NE(CONFORMANCE_TEST_ERROR, ViewportClampExec());
471 }
472 
TEST_P(GLES1ConformanceTest,XForm)473 TEST_P(GLES1ConformanceTest, XForm)
474 {
475     ASSERT_NE(CONFORMANCE_TEST_ERROR, XFormExec());
476 }
477 
TEST_P(GLES1ConformanceTest,XFormMix)478 TEST_P(GLES1ConformanceTest, XFormMix)
479 {
480     ASSERT_NE(CONFORMANCE_TEST_ERROR, XFormMixExec());
481 }
482 
TEST_P(GLES1ConformanceTest,XFormNormal)483 TEST_P(GLES1ConformanceTest, XFormNormal)
484 {
485     ASSERT_NE(CONFORMANCE_TEST_ERROR, XFormNormalExec());
486 }
487 
TEST_P(GLES1ConformanceTest,XFormViewport)488 TEST_P(GLES1ConformanceTest, XFormViewport)
489 {
490     ASSERT_NE(CONFORMANCE_TEST_ERROR, XFormViewportExec());
491 }
492 
TEST_P(GLES1ConformanceTest,XFormHomogenous)493 TEST_P(GLES1ConformanceTest, XFormHomogenous)
494 {
495     ASSERT_NE(CONFORMANCE_TEST_ERROR, XFormHomogenousExec());
496 }
497 
TEST_P(GLES1ConformanceTest,ZBClear)498 TEST_P(GLES1ConformanceTest, ZBClear)
499 {
500     ASSERT_NE(CONFORMANCE_TEST_ERROR, ZBClearExec());
501 }
502 
TEST_P(GLES1ConformanceTest,ZBFunc)503 TEST_P(GLES1ConformanceTest, ZBFunc)
504 {
505     ASSERT_NE(CONFORMANCE_TEST_ERROR, ZBFuncExec());
506 }
507 
TEST_P(GLES1ConformanceTest,DrawTex)508 TEST_P(GLES1ConformanceTest, DrawTex)
509 {
510     ASSERT_TRUE(IsGLExtensionEnabled("GL_OES_draw_texture"));
511     ASSERT_NE(CONFORMANCE_TEST_ERROR, DrawTexExec());
512 }
513 
TEST_P(GLES1ConformanceTest,MatrixQuery)514 TEST_P(GLES1ConformanceTest, MatrixQuery)
515 {
516     ASSERT_NE(CONFORMANCE_TEST_ERROR, MatrixQueryExec());
517 }
518 
TEST_P(GLES1ConformanceTest,BufferObject)519 TEST_P(GLES1ConformanceTest, BufferObject)
520 {
521     ASSERT_NE(CONFORMANCE_TEST_ERROR, BufferObjectExec());
522 }
523 
TEST_P(GLES1ConformanceTest,PointSizeArray)524 TEST_P(GLES1ConformanceTest, PointSizeArray)
525 {
526     ASSERT_NE(CONFORMANCE_TEST_ERROR, PointSizeArrayExec());
527 }
528 
TEST_P(GLES1ConformanceTest,PointSprite)529 TEST_P(GLES1ConformanceTest, PointSprite)
530 {
531     // http://anglebug.com/6652
532     ANGLE_SKIP_TEST_IF(IsWindows() && IsIntel() && IsVulkan());
533 
534     ASSERT_NE(CONFORMANCE_TEST_ERROR, PointSpriteExec());
535 }
536 
TEST_P(GLES1ConformanceTest,UserClip)537 TEST_P(GLES1ConformanceTest, UserClip)
538 {
539     // "2.11 Clipping" describes the complementarity criterion, where a
540     // primitive drawn once with a particular clip plane and again with the
541     // negated version of the clip plane must not overdraw for pixels where the
542     // plane equation evaluates exactly to zero; that is, we would need to
543     // detect previously drawn fragments from one clip plane that lie exactly
544     // on the half space boundary, and avoid drawing them if the same primitive
545     // is issued next draw with a negated version of the clip plane.
546     ASSERT_NE(CONFORMANCE_TEST_ERROR, UserClipExec());
547 }
548 
TEST_P(GLES1ConformanceTest,MatrixGetTest)549 TEST_P(GLES1ConformanceTest, MatrixGetTest)
550 {
551     ASSERT_NE(CONFORMANCE_TEST_ERROR, MatrixGetTestExec());
552 }
553 
TEST_P(GLES1ConformanceTest,Gets)554 TEST_P(GLES1ConformanceTest, Gets)
555 {
556     ASSERT_NE(CONFORMANCE_TEST_ERROR, GetsExec());
557 }
558 
TEST_P(GLES1ConformanceTest,TexCombine)559 TEST_P(GLES1ConformanceTest, TexCombine)
560 {
561     ASSERT_NE(CONFORMANCE_TEST_ERROR, TexCombineExec());
562 }
563 
TEST_P(GLES1ConformanceTest,MatrixPalette)564 TEST_P(GLES1ConformanceTest, MatrixPalette)
565 {
566     ASSERT_NE(CONFORMANCE_TEST_ERROR, MatrixPaletteExec());
567 }
568 
569 ANGLE_INSTANTIATE_TEST(GLES1ConformanceTest, ES1_OPENGL(), ES1_VULKAN());
570 }  // namespace angle
571