Lines Matching +full:r +full:- +full:- +full:p
7 // http://www.apache.org/licenses/LICENSE-2.0
37 void SetupColorAttachment(Pipeline* p, uint32_t location) { in SetupColorAttachment() argument
39 color_buffer_ = p->GenerateDefaultColorAttachmentBuffer(); in SetupColorAttachment()
41 p->AddColorAttachment(color_buffer_.get(), location, 0); in SetupColorAttachment()
44 void SetupDepthStencilAttachment(Pipeline* p) { in SetupDepthStencilAttachment() argument
46 depth_stencil_buffer_ = p->GenerateDefaultDepthStencilAttachmentBuffer(); in SetupDepthStencilAttachment()
48 p->SetDepthStencilBuffer(depth_stencil_buffer_.get()); in SetupDepthStencilAttachment()
60 Pipeline p(PipelineType::kGraphics); in TEST_F() local
61 Result r = p.AddShader(&v, kShaderTypeVertex); in TEST_F() local
62 ASSERT_TRUE(r.IsSuccess()) << r.Error(); in TEST_F()
64 r = p.AddShader(&f, kShaderTypeFragment); in TEST_F()
65 ASSERT_TRUE(r.IsSuccess()) << r.Error(); in TEST_F()
67 const auto& shaders = p.GetShaders(); in TEST_F()
75 Pipeline p(PipelineType::kGraphics); in TEST_F() local
76 Result r = p.AddShader(nullptr, kShaderTypeVertex); in TEST_F() local
77 ASSERT_FALSE(r.IsSuccess()); in TEST_F()
78 EXPECT_EQ("shader can not be null when attached to pipeline", r.Error()); in TEST_F()
85 Pipeline p(PipelineType::kGraphics); in TEST_F() local
86 Result r = p.AddShader(&v, kShaderTypeVertex); in TEST_F() local
87 ASSERT_TRUE(r.IsSuccess()) << r.Error(); in TEST_F()
89 r = p.AddShader(&f, kShaderTypeFragment); in TEST_F()
90 ASSERT_TRUE(r.IsSuccess()) << r.Error(); in TEST_F()
92 r = p.AddShader(&v, kShaderTypeVertex); in TEST_F()
93 ASSERT_FALSE(r.IsSuccess()); in TEST_F()
94 EXPECT_EQ("can not add duplicate shader to pipeline", r.Error()); in TEST_F()
105 Pipeline p(PipelineType::kCompute); in TEST_P() local
106 Result r = p.AddShader(&s, test_data.type); in TEST_P() local
107 ASSERT_FALSE(r.IsSuccess()); in TEST_P()
108 EXPECT_EQ("only compute shaders allowed in a compute pipeline", r.Error()); in TEST_P()
124 Pipeline p(PipelineType::kGraphics); in TEST_F() local
125 Result r = p.AddShader(&c, kShaderTypeCompute); in TEST_F() local
126 ASSERT_FALSE(r.IsSuccess()); in TEST_F()
127 EXPECT_EQ("can not add a compute shader to a graphics pipeline", r.Error()); in TEST_F()
134 Pipeline p(PipelineType::kGraphics); in TEST_F() local
135 Result r = p.AddShader(&v, kShaderTypeVertex); in TEST_F() local
136 ASSERT_TRUE(r.IsSuccess()) << r.Error(); in TEST_F()
138 r = p.AddShader(&f, kShaderTypeFragment); in TEST_F()
139 ASSERT_TRUE(r.IsSuccess()) << r.Error(); in TEST_F()
144 r = p.SetShaderOptimizations(&f, first); in TEST_F()
145 ASSERT_TRUE(r.IsSuccess()) << r.Error(); in TEST_F()
147 r = p.SetShaderOptimizations(&v, second); in TEST_F()
148 ASSERT_TRUE(r.IsSuccess()) << r.Error(); in TEST_F()
150 const auto& shaders = p.GetShaders(); in TEST_F()
159 Pipeline p(PipelineType::kGraphics); in TEST_F() local
160 Result r = p.AddShader(&v, kShaderTypeVertex); in TEST_F() local
161 ASSERT_TRUE(r.IsSuccess()) << r.Error(); in TEST_F()
164 r = p.SetShaderOptimizations(&v, data); in TEST_F()
165 ASSERT_FALSE(r.IsSuccess()); in TEST_F()
166 EXPECT_EQ("duplicate optimization flag (One) set on shader", r.Error()); in TEST_F()
170 Pipeline p(PipelineType::kGraphics); in TEST_F() local
171 Result r = p.SetShaderOptimizations(nullptr, {"One", "Two"}); in TEST_F() local
172 ASSERT_FALSE(r.IsSuccess()); in TEST_F()
173 EXPECT_EQ("invalid shader specified for optimizations", r.Error()); in TEST_F()
180 Pipeline p(PipelineType::kGraphics); in TEST_F() local
181 Result r = p.SetShaderOptimizations(&v, {"One", "Two"}); in TEST_F() local
182 ASSERT_FALSE(r.IsSuccess()); in TEST_F()
183 EXPECT_EQ("unknown shader specified for optimizations: my_shader", r.Error()); in TEST_F()
187 Pipeline p(PipelineType::kGraphics); in TEST_F() local
188 SetupDepthStencilAttachment(&p); in TEST_F()
190 Result r = p.Validate(); in TEST_F() local
191 ASSERT_FALSE(r.IsSuccess()); in TEST_F()
192 EXPECT_EQ("PIPELINE missing color attachment", r.Error()); in TEST_F()
200 Pipeline p(PipelineType::kGraphics); in TEST_F() local
201 SetupColorAttachment(&p, 0); in TEST_F()
202 SetupDepthStencilAttachment(&p); in TEST_F()
204 Result r = p.AddShader(&v, kShaderTypeVertex); in TEST_F() local
205 EXPECT_TRUE(r.IsSuccess()) << r.Error(); in TEST_F()
207 r = p.AddShader(&g, kShaderTypeGeometry); in TEST_F()
208 EXPECT_TRUE(r.IsSuccess()) << r.Error(); in TEST_F()
210 r = p.AddShader(&f, kShaderTypeFragment); in TEST_F()
211 EXPECT_TRUE(r.IsSuccess()) << r.Error(); in TEST_F()
213 r = p.Validate(); in TEST_F()
214 EXPECT_TRUE(r.IsSuccess()) << r.Error(); in TEST_F()
221 Pipeline p(PipelineType::kGraphics); in TEST_F() local
222 SetupColorAttachment(&p, 0); in TEST_F()
223 SetupDepthStencilAttachment(&p); in TEST_F()
225 Result r = p.AddShader(&g, kShaderTypeGeometry); in TEST_F() local
226 EXPECT_TRUE(r.IsSuccess()) << r.Error(); in TEST_F()
228 r = p.AddShader(&f, kShaderTypeFragment); in TEST_F()
229 EXPECT_TRUE(r.IsSuccess()) << r.Error(); in TEST_F()
231 r = p.Validate(); in TEST_F()
232 EXPECT_FALSE(r.IsSuccess()) << r.Error(); in TEST_F()
233 EXPECT_EQ("graphics pipeline requires a vertex shader", r.Error()); in TEST_F()
239 Pipeline p(PipelineType::kCompute); in TEST_F() local
240 SetupColorAttachment(&p, 0); in TEST_F()
241 SetupDepthStencilAttachment(&p); in TEST_F()
243 Result r = p.AddShader(&c, kShaderTypeCompute); in TEST_F() local
244 EXPECT_TRUE(r.IsSuccess()) << r.Error(); in TEST_F()
246 r = p.Validate(); in TEST_F()
247 EXPECT_TRUE(r.IsSuccess()) << r.Error(); in TEST_F()
251 Pipeline p(PipelineType::kCompute); in TEST_F() local
252 SetupColorAttachment(&p, 0); in TEST_F()
253 SetupDepthStencilAttachment(&p); in TEST_F()
255 Result r = p.Validate(); in TEST_F() local
256 EXPECT_FALSE(r.IsSuccess()) << r.Error(); in TEST_F()
257 EXPECT_EQ("compute pipeline requires a compute shader", r.Error()); in TEST_F()
261 Pipeline p(PipelineType::kCompute); in TEST_F() local
264 buf->SetName("MyBuffer"); in TEST_F()
265 p.AddBuffer(buf.get(), BufferType::kStorage, 0, 0, 0, 0); in TEST_F()
267 Result r = p.Validate(); in TEST_F() local
268 EXPECT_FALSE(r.IsSuccess()) << r.Error(); in TEST_F()
269 EXPECT_EQ("buffer (0:0) requires a format", r.Error()); in TEST_F()
276 Pipeline p(PipelineType::kCompute); in TEST_F() local
277 Result r = p.SetShaderEntryPoint(&c, "test"); in TEST_F() local
278 EXPECT_FALSE(r.IsSuccess()); in TEST_F()
279 EXPECT_EQ("unknown shader specified for entry point: my_shader", r.Error()); in TEST_F()
283 Pipeline p(PipelineType::kCompute); in TEST_F() local
284 Result r = p.SetShaderEntryPoint(nullptr, "test"); in TEST_F() local
285 EXPECT_FALSE(r.IsSuccess()); in TEST_F()
286 EXPECT_EQ("invalid shader specified for entry point", r.Error()); in TEST_F()
291 Pipeline p(PipelineType::kCompute); in TEST_F() local
292 Result r = p.AddShader(&c, kShaderTypeCompute); in TEST_F() local
293 ASSERT_TRUE(r.IsSuccess()) << r.Error(); in TEST_F()
295 r = p.SetShaderEntryPoint(&c, ""); in TEST_F()
296 EXPECT_FALSE(r.IsSuccess()); in TEST_F()
297 EXPECT_EQ("entry point should not be blank", r.Error()); in TEST_F()
302 Pipeline p(PipelineType::kCompute); in TEST_F() local
303 Result r = p.AddShader(&c, kShaderTypeCompute); in TEST_F() local
304 ASSERT_TRUE(r.IsSuccess()) << r.Error(); in TEST_F()
306 const auto& shaders = p.GetShaders(); in TEST_F()
313 Pipeline p(PipelineType::kCompute); in TEST_F() local
314 Result r = p.AddShader(&c, kShaderTypeCompute); in TEST_F() local
315 ASSERT_TRUE(r.IsSuccess()) << r.Error(); in TEST_F()
317 r = p.SetShaderEntryPoint(&c, "my_main"); in TEST_F()
318 ASSERT_TRUE(r.IsSuccess()) << r.Error(); in TEST_F()
320 const auto& shaders = p.GetShaders(); in TEST_F()
327 Pipeline p(PipelineType::kCompute); in TEST_F() local
328 Result r = p.AddShader(&c, kShaderTypeCompute); in TEST_F() local
329 ASSERT_TRUE(r.IsSuccess()) << r.Error(); in TEST_F()
331 r = p.SetShaderEntryPoint(&c, "my_main"); in TEST_F()
332 ASSERT_TRUE(r.IsSuccess()) << r.Error(); in TEST_F()
334 r = p.SetShaderEntryPoint(&c, "another_main"); in TEST_F()
335 EXPECT_FALSE(r.IsSuccess()); in TEST_F()
336 EXPECT_EQ("multiple entry points given for the same shader", r.Error()); in TEST_F()
340 Pipeline p(PipelineType::kGraphics); in TEST_F() local
341 p.SetName("my_pipeline"); in TEST_F()
342 p.SetFramebufferWidth(800); in TEST_F()
343 p.SetFramebufferHeight(600); in TEST_F()
345 SetupColorAttachment(&p, 0); in TEST_F()
346 SetupDepthStencilAttachment(&p); in TEST_F()
349 p.AddShader(&f, kShaderTypeFragment); in TEST_F()
351 p.AddShader(&v, kShaderTypeVertex); in TEST_F()
352 p.SetShaderEntryPoint(&v, "my_main"); in TEST_F()
355 vtex_buf->SetName("vertex_buffer"); in TEST_F()
359 p.AddVertexBuffer(vtex_buf.get(), 1, InputRate::kVertex, int_fmt.get(), 5, in TEST_F()
363 idx_buf->SetName("Index Buffer"); in TEST_F()
364 p.SetIndexBuffer(idx_buf.get()); in TEST_F()
367 buf1->SetName("buf1"); in TEST_F()
368 p.AddBuffer(buf1.get(), BufferType::kStorage, 1, 1, 0, 0); in TEST_F()
371 buf2->SetName("buf2"); in TEST_F()
372 p.AddBuffer(buf2.get(), BufferType::kStorage, 1, 2, 0, 16); in TEST_F()
374 auto clone = p.Clone(); in TEST_F()
375 EXPECT_EQ("", clone->GetName()); in TEST_F()
376 EXPECT_EQ(800U, clone->GetFramebufferWidth()); in TEST_F()
377 EXPECT_EQ(600U, clone->GetFramebufferHeight()); in TEST_F()
379 auto shaders = clone->GetShaders(); in TEST_F()
385 ASSERT_TRUE(clone->GetIndexBuffer() != nullptr); in TEST_F()
386 EXPECT_EQ("Index Buffer", clone->GetIndexBuffer()->GetName()); in TEST_F()
388 auto vtex_buffers = clone->GetVertexBuffers(); in TEST_F()
391 EXPECT_EQ("vertex_buffer", vtex_buffers[0].buffer->GetName()); in TEST_F()
393 EXPECT_EQ(FormatType::kR32_SINT, vtex_buffers[0].format->GetFormatType()); in TEST_F()
397 auto bufs = clone->GetBuffers(); in TEST_F()
399 EXPECT_EQ("buf1", bufs[0].buffer->GetName()); in TEST_F()
404 EXPECT_EQ("buf2", bufs[1].buffer->GetName()); in TEST_F()
411 Pipeline p(PipelineType::kCompute); in TEST_F() local
412 p.SetName("my_pipeline"); in TEST_F()
416 p.AddShader(&cs, kShaderTypeCompute); in TEST_F()
417 p.SetShaderEntryPoint(&cs, "my_main"); in TEST_F()
425 p.GetShaders()[0].AddDescriptorEntry("my_main", std::move(entry1)); in TEST_F()
433 p.GetShaders()[0].AddDescriptorEntry("my_main", std::move(entry2)); in TEST_F()
436 a_buf->SetName("buf1"); in TEST_F()
437 p.AddBuffer(a_buf.get(), BufferType::kStorage, "arg_a"); in TEST_F()
440 b_buf->SetName("buf2"); in TEST_F()
441 p.AddBuffer(b_buf.get(), BufferType::kStorage, 1); in TEST_F()
443 p.UpdateOpenCLBufferBindings(); in TEST_F()
445 auto& bufs = p.GetBuffers(); in TEST_F()
447 EXPECT_EQ("buf1", bufs[0].buffer->GetName()); in TEST_F()
450 EXPECT_EQ("buf2", bufs[1].buffer->GetName()); in TEST_F()
456 Pipeline p(PipelineType::kCompute); in TEST_F() local
457 p.SetName("my_pipeline"); in TEST_F()
461 p.AddShader(&cs, kShaderTypeCompute); in TEST_F()
462 p.SetShaderEntryPoint(&cs, "my_main"); in TEST_F()
470 p.GetShaders()[0].AddDescriptorEntry("my_main", std::move(entry1)); in TEST_F()
478 p.GetShaders()[0].AddDescriptorEntry("my_main", std::move(entry2)); in TEST_F()
481 a_buf->SetName("buf1"); in TEST_F()
482 p.AddBuffer(a_buf.get(), BufferType::kStorage, "arg_a"); in TEST_F()
485 b_buf->SetName("buf2"); in TEST_F()
486 p.AddBuffer(b_buf.get(), BufferType::kUniform, 1); in TEST_F()
488 auto r = p.UpdateOpenCLBufferBindings(); in TEST_F() local
490 ASSERT_FALSE(r.IsSuccess()); in TEST_F()
491 EXPECT_EQ("Buffer buf2 must be a uniform binding", r.Error()); in TEST_F()
495 Pipeline p(PipelineType::kCompute); in TEST_F() local
496 p.SetName("my_pipeline"); in TEST_F()
500 p.AddShader(&cs, kShaderTypeCompute); in TEST_F()
501 p.SetShaderEntryPoint(&cs, "my_main"); in TEST_F()
509 p.GetShaders()[0].AddDescriptorEntry("my_main", std::move(entry1)); in TEST_F()
517 p.GetShaders()[0].AddDescriptorEntry("my_main", std::move(entry2)); in TEST_F()
525 p.GetShaders()[0].AddDescriptorEntry("my_main", std::move(entry2)); in TEST_F()
528 a_buf->SetName("buf1"); in TEST_F()
529 p.AddBuffer(a_buf.get(), BufferType::kSampledImage, "arg_a"); in TEST_F()
532 b_buf->SetName("buf2"); in TEST_F()
533 p.AddBuffer(b_buf.get(), BufferType::kStorageImage, 1); in TEST_F()
536 s->SetName("samp"); in TEST_F()
537 p.AddSampler(s.get(), "arg_c"); in TEST_F()
539 auto r = p.UpdateOpenCLBufferBindings(); in TEST_F() local
541 ASSERT_TRUE(r.IsSuccess()); in TEST_F()
545 Pipeline p(PipelineType::kCompute); in TEST_F() local
546 p.SetName("my_pipeline"); in TEST_F()
550 p.AddShader(&cs, kShaderTypeCompute); in TEST_F()
551 p.SetShaderEntryPoint(&cs, "my_main"); in TEST_F()
562 p.GetShaders()[0].AddDescriptorEntry("my_main", std::move(entry1)); in TEST_F()
572 p.GetShaders()[0].AddDescriptorEntry("my_main", std::move(entry2)); in TEST_F()
582 p.GetShaders()[0].AddDescriptorEntry("my_main", std::move(entry3)); in TEST_F()
599 p.SetArg(std::move(arg_info1)); in TEST_F()
606 p.SetArg(std::move(arg_info2)); in TEST_F()
613 p.SetArg(std::move(arg_info3)); in TEST_F()
615 auto r = p.GenerateOpenCLPodBuffers(); in TEST_F() local
616 ASSERT_TRUE(r.IsSuccess()); in TEST_F()
617 EXPECT_EQ(2U, p.GetBuffers().size()); in TEST_F()
619 const auto& b1 = p.GetBuffers()[0]; in TEST_F()
622 EXPECT_EQ(5U, b1.buffer->ValueCount()); in TEST_F()
624 const auto& b2 = p.GetBuffers()[1]; in TEST_F()
627 EXPECT_EQ(4U, b2.buffer->ValueCount()); in TEST_F()
631 Pipeline p(PipelineType::kCompute); in TEST_F() local
632 p.SetName("my_pipeline"); in TEST_F()
636 p.AddShader(&cs, kShaderTypeCompute); in TEST_F()
637 p.SetShaderEntryPoint(&cs, "my_main"); in TEST_F()
648 p.GetShaders()[0].AddDescriptorEntry("my_main", std::move(entry1)); in TEST_F()
663 p.SetArg(std::move(arg_info1)); in TEST_F()
665 auto r = p.GenerateOpenCLPodBuffers(); in TEST_F() local
666 ASSERT_FALSE(r.IsSuccess()); in TEST_F()
670 r.Error()); in TEST_F()
674 Pipeline p(PipelineType::kCompute); in TEST_F() local
675 p.SetName("my_pipeline"); in TEST_F()
679 p.AddShader(&cs, kShaderTypeCompute); in TEST_F()
680 p.SetShaderEntryPoint(&cs, "my_main"); in TEST_F()
691 p.GetShaders()[0].AddDescriptorEntry("my_main", std::move(entry1)); in TEST_F()
706 p.SetArg(std::move(arg_info1)); in TEST_F()
708 auto r = p.GenerateOpenCLPodBuffers(); in TEST_F() local
709 ASSERT_FALSE(r.IsSuccess()); in TEST_F()
711 r.Error()); in TEST_F()
715 Pipeline p(PipelineType::kCompute); in TEST_F() local
716 p.SetName("my_pipeline"); in TEST_F()
720 p.AddShader(&cs, kShaderTypeCompute); in TEST_F()
721 p.SetShaderEntryPoint(&cs, "my_main"); in TEST_F()
732 p.GetShaders()[0].AddDescriptorEntry("my_main", std::move(entry1)); in TEST_F()
742 p.GetShaders()[0].AddDescriptorEntry("my_main", std::move(entry2)); in TEST_F()
752 p.GetShaders()[0].AddDescriptorEntry("my_main", std::move(entry3)); in TEST_F()
769 p.SetArg(std::move(arg_info1)); in TEST_F()
776 p.SetArg(std::move(arg_info2)); in TEST_F()
783 p.SetArg(std::move(arg_info3)); in TEST_F()
785 auto clone = p.Clone(); in TEST_F()
786 auto r = clone->GenerateOpenCLPodBuffers(); in TEST_F() local
787 ASSERT_TRUE(r.IsSuccess()); in TEST_F()
788 EXPECT_EQ(3U, clone->SetArgValues().size()); in TEST_F()
789 EXPECT_EQ(2U, clone->GetBuffers().size()); in TEST_F()
791 const auto& b1 = clone->GetBuffers()[0]; in TEST_F()
794 EXPECT_EQ(5U, b1.buffer->ValueCount()); in TEST_F()
796 const auto& b2 = clone->GetBuffers()[1]; in TEST_F()
799 EXPECT_EQ(4U, b2.buffer->ValueCount()); in TEST_F()
803 Pipeline p(PipelineType::kCompute); in TEST_F() local
804 p.SetName("my_pipeline"); in TEST_F()
806 p.AddSampler(16, 0, 0); in TEST_F()
807 p.AddSampler(41, 0, 1); in TEST_F()
809 auto r = p.GenerateOpenCLLiteralSamplers(); in TEST_F() local
810 ASSERT_TRUE(r.IsSuccess()); in TEST_F()
811 for (auto& info : p.GetSamplers()) { in TEST_F()
814 EXPECT_EQ(FilterType::kNearest, info.sampler->GetMagFilter()); in TEST_F()
815 EXPECT_EQ(FilterType::kNearest, info.sampler->GetMinFilter()); in TEST_F()
816 EXPECT_EQ(AddressMode::kClampToEdge, info.sampler->GetAddressModeU()); in TEST_F()
817 EXPECT_EQ(AddressMode::kClampToEdge, info.sampler->GetAddressModeV()); in TEST_F()
818 EXPECT_EQ(AddressMode::kClampToEdge, info.sampler->GetAddressModeW()); in TEST_F()
819 EXPECT_EQ(0.0f, info.sampler->GetMinLOD()); in TEST_F()
820 EXPECT_EQ(0.0f, info.sampler->GetMaxLOD()); in TEST_F()
823 EXPECT_EQ(FilterType::kLinear, info.sampler->GetMagFilter()); in TEST_F()
824 EXPECT_EQ(FilterType::kLinear, info.sampler->GetMinFilter()); in TEST_F()
825 EXPECT_EQ(AddressMode::kMirroredRepeat, info.sampler->GetAddressModeU()); in TEST_F()
826 EXPECT_EQ(AddressMode::kMirroredRepeat, info.sampler->GetAddressModeV()); in TEST_F()
827 EXPECT_EQ(AddressMode::kMirroredRepeat, info.sampler->GetAddressModeW()); in TEST_F()
828 EXPECT_EQ(0.0f, info.sampler->GetMinLOD()); in TEST_F()
829 EXPECT_EQ(0.0f, info.sampler->GetMaxLOD()); in TEST_F()
835 Pipeline p(PipelineType::kCompute); in TEST_F() local
836 p.SetName("my_pipeline"); in TEST_F()
840 p.AddShader(&cs, kShaderTypeCompute); in TEST_F()
841 p.SetShaderEntryPoint(&cs, "my_main"); in TEST_F()
847 p.GetShaders()[0].AddPushConstant(std::move(pc1)); in TEST_F()
854 p.GetShaders()[0].AddPushConstant(std::move(pc2)); in TEST_F()
856 auto r = p.GenerateOpenCLPushConstants(); in TEST_F() local
857 ASSERT_TRUE(r.IsSuccess()); in TEST_F()
859 const auto& buf = p.GetPushConstantBuffer(); in TEST_F()
860 EXPECT_EQ(28U, buf.buffer->GetSizeInBytes()); in TEST_F()
862 const uint32_t* bytes = buf.buffer->GetValues<uint32_t>(); in TEST_F()
870 Pipeline p(PipelineType::kCompute); in TEST_F() local
871 p.SetName("my_pipeline"); in TEST_F()
875 p.AddShader(&cs, kShaderTypeCompute); in TEST_F()
876 p.SetShaderEntryPoint(&cs, "my_main"); in TEST_F()
882 entry1.descriptor_set = static_cast<uint32_t>(-1); in TEST_F()
883 entry1.binding = static_cast<uint32_t>(-1); in TEST_F()
888 p.GetShaders()[0].AddDescriptorEntry("my_main", std::move(entry1)); in TEST_F()
893 entry2.descriptor_set = static_cast<uint32_t>(-1); in TEST_F()
894 entry2.binding = static_cast<uint32_t>(-1); in TEST_F()
899 p.GetShaders()[0].AddDescriptorEntry("my_main", std::move(entry2)); in TEST_F()
904 entry3.descriptor_set = static_cast<uint32_t>(-1); in TEST_F()
905 entry3.binding = static_cast<uint32_t>(-1); in TEST_F()
910 p.GetShaders()[0].AddDescriptorEntry("my_main", std::move(entry3)); in TEST_F()
927 p.SetArg(std::move(arg_info1)); in TEST_F()
934 p.SetArg(std::move(arg_info2)); in TEST_F()
941 p.SetArg(std::move(arg_info3)); in TEST_F()
943 auto r = p.GenerateOpenCLPodBuffers(); in TEST_F() local
944 auto* buf = p.GetPushConstantBuffer().buffer; in TEST_F()
946 EXPECT_EQ(12U, buf->GetSizeInBytes()); in TEST_F()
948 const uint32_t* ints = buf->GetValues<uint32_t>(); in TEST_F()
949 const uint8_t* bytes = buf->GetValues<uint8_t>(); in TEST_F()