Lines Matching full:json

110     GroupScope(JsonSerializer *json, const std::string &name) : mJson(json)  in GroupScope()  argument
115 GroupScope(JsonSerializer *json, const std::string &name, int index) : mJson(json) in GroupScope() argument
123 GroupScope(JsonSerializer *json, int index) : GroupScope(json, "", index) {} in GroupScope() argument
131 void SerializeColorF(JsonSerializer *json, const ColorF &color) in SerializeColorF() argument
133 json->addScalar("red", color.red); in SerializeColorF()
134 json->addScalar("green", color.green); in SerializeColorF()
135 json->addScalar("blue", color.blue); in SerializeColorF()
136 json->addScalar("alpha", color.alpha); in SerializeColorF()
139 void SerializeColorFWithGroup(JsonSerializer *json, const char *groupName, const ColorF &color) in SerializeColorFWithGroup() argument
141 GroupScope group(json, groupName); in SerializeColorFWithGroup()
142 SerializeColorF(json, color); in SerializeColorFWithGroup()
145 void SerializeColorI(JsonSerializer *json, const ColorI &color) in SerializeColorI() argument
147 json->addScalar("Red", color.red); in SerializeColorI()
148 json->addScalar("Green", color.green); in SerializeColorI()
149 json->addScalar("Blue", color.blue); in SerializeColorI()
150 json->addScalar("Alpha", color.alpha); in SerializeColorI()
153 void SerializeColorUI(JsonSerializer *json, const ColorUI &color) in SerializeColorUI() argument
155 json->addScalar("Red", color.red); in SerializeColorUI()
156 json->addScalar("Green", color.green); in SerializeColorUI()
157 json->addScalar("Blue", color.blue); in SerializeColorUI()
158 json->addScalar("Alpha", color.alpha); in SerializeColorUI()
161 void SerializeExtents(JsonSerializer *json, const gl::Extents &extents) in SerializeExtents() argument
163 json->addScalar("Width", extents.width); in SerializeExtents()
164 json->addScalar("Height", extents.height); in SerializeExtents()
165 json->addScalar("Depth", extents.depth); in SerializeExtents()
170 JsonSerializer *json, in SerializeOffsetBindingPointerVector() argument
174 GroupScope vectorGroup(json, groupName); in SerializeOffsetBindingPointerVector()
178 GroupScope itemGroup(json, static_cast<int>(i)); in SerializeOffsetBindingPointerVector()
179 json->addScalar("Value", offsetBindingPointerVector[i].id().value); in SerializeOffsetBindingPointerVector()
180 json->addScalar("Offset", offsetBindingPointerVector[i].getOffset()); in SerializeOffsetBindingPointerVector()
181 json->addScalar("Size", offsetBindingPointerVector[i].getSize()); in SerializeOffsetBindingPointerVector()
187 JsonSerializer *json, in SerializeBindingPointerVector() argument
199 json->addScalar(s.str().c_str(), obj.id().value); in SerializeBindingPointerVector()
205 void SerializeRange(JsonSerializer *json, const gl::Range<T> &range) in SerializeRange() argument
207 GroupScope group(json, "Range"); in SerializeRange()
208 json->addScalar("Low", range.low()); in SerializeRange()
209 json->addScalar("High", range.high()); in SerializeRange()
218 void SerializeFormat(JsonSerializer *json, GLenum glFormat) in SerializeFormat() argument
220 json->addCString("InternalFormat", gl::GLenumToString(gl::GLESEnum::InternalFormat, glFormat)); in SerializeFormat()
223 void SerializeInternalFormat(JsonSerializer *json, const gl::InternalFormat *internalFormat) in SerializeInternalFormat() argument
225 SerializeFormat(json, internalFormat->internalFormat); in SerializeInternalFormat()
228 void SerializeANGLEFormat(JsonSerializer *json, const angle::Format *format) in SerializeANGLEFormat() argument
230 SerializeFormat(json, format->glInternalFormat); in SerializeANGLEFormat()
233 void SerializeGLFormat(JsonSerializer *json, const gl::Format &format) in SerializeGLFormat() argument
235 SerializeInternalFormat(json, format.info); in SerializeGLFormat()
260 void SerializeImageIndex(JsonSerializer *json, const gl::ImageIndex &imageIndex) in SerializeImageIndex() argument
262 GroupScope group(json, "Image"); in SerializeImageIndex()
263 json->addString("ImageType", ToString(imageIndex.getType())); in SerializeImageIndex()
264 json->addScalar("LevelIndex", imageIndex.getLevelIndex()); in SerializeImageIndex()
265 json->addScalar("LayerIndex", imageIndex.getLayerIndex()); in SerializeImageIndex()
266 json->addScalar("LayerCount", imageIndex.getLayerCount()); in SerializeImageIndex()
270 JsonSerializer *json, in SerializeFramebufferAttachment() argument
279 json->addScalar("AttachedResourceID", framebufferAttachment.id()); in SerializeFramebufferAttachment()
281 json->addCString( in SerializeFramebufferAttachment()
284 json->addString("Binding", gl::GLenumToString(enumGroup, framebufferAttachment.getBinding())); in SerializeFramebufferAttachment()
287 SerializeImageIndex(json, framebufferAttachment.getTextureImageIndex()); in SerializeFramebufferAttachment()
289 json->addScalar("NumViews", framebufferAttachment.getNumViews()); in SerializeFramebufferAttachment()
290 json->addScalar("Multiview", framebufferAttachment.isMultiview()); in SerializeFramebufferAttachment()
291 json->addScalar("ViewIndex", framebufferAttachment.getBaseViewIndex()); in SerializeFramebufferAttachment()
292 json->addScalar("Samples", framebufferAttachment.getRenderToTextureSamples()); in SerializeFramebufferAttachment()
295 GroupScope extentsGroup(json, "Extents"); in SerializeFramebufferAttachment()
296 SerializeExtents(json, framebufferAttachment.getSize()); in SerializeFramebufferAttachment()
316 json->addBlob("Data", pixelsPtr->data(), pixelsPtr->size()); in SerializeFramebufferAttachment()
320 json->addCString("Data", "Not initialized"); in SerializeFramebufferAttachment()
329 JsonSerializer *json, in SerializeFramebufferState() argument
334 GroupScope group(json, "Framebuffer", framebufferState.id().value); in SerializeFramebufferState()
336 json->addString("Label", framebufferState.getLabel()); in SerializeFramebufferState()
337 json->addVector("DrawStates", framebufferState.getDrawBufferStates()); in SerializeFramebufferState()
338 json->addScalar("ReadBufferState", framebufferState.getReadBufferState()); in SerializeFramebufferState()
339 json->addScalar("DefaultWidth", framebufferState.getDefaultWidth()); in SerializeFramebufferState()
340 json->addScalar("DefaultHeight", framebufferState.getDefaultHeight()); in SerializeFramebufferState()
341 json->addScalar("DefaultSamples", framebufferState.getDefaultSamples()); in SerializeFramebufferState()
342 json->addScalar("DefaultFixedSampleLocation", in SerializeFramebufferState()
344 json->addScalar("DefaultLayers", framebufferState.getDefaultLayers()); in SerializeFramebufferState()
345 json->addScalar("FlipY", framebufferState.getFlipY()); in SerializeFramebufferState()
348 GroupScope attachmentsGroup(json, "Attachments"); in SerializeFramebufferState()
357 GroupScope colorAttachmentgroup(json, "ColorAttachment", in SerializeFramebufferState()
359 ANGLE_TRY(SerializeFramebufferAttachment(context, json, scratchBuffer, framebuffer, in SerializeFramebufferState()
366 GroupScope dsAttachmentgroup(json, "DepthStencilAttachment"); in SerializeFramebufferState()
367 ANGLE_TRY(SerializeFramebufferAttachment(context, json, scratchBuffer, framebuffer, in SerializeFramebufferState()
375 GroupScope depthAttachmentgroup(json, "DepthAttachment"); in SerializeFramebufferState()
376 ANGLE_TRY(SerializeFramebufferAttachment(context, json, scratchBuffer, framebuffer, in SerializeFramebufferState()
382 GroupScope stencilAttachmengroup(json, "StencilAttachment"); in SerializeFramebufferState()
383 ANGLE_TRY(SerializeFramebufferAttachment(context, json, scratchBuffer, framebuffer, in SerializeFramebufferState()
393 JsonSerializer *json, in SerializeFramebuffer() argument
397 return SerializeFramebufferState(context, json, scratchBuffer, framebuffer, in SerializeFramebuffer()
401 void SerializeRasterizerState(JsonSerializer *json, const gl::RasterizerState &rasterizerState) in SerializeRasterizerState() argument
403 GroupScope group(json, "Rasterizer"); in SerializeRasterizerState()
404 json->addScalar("CullFace", rasterizerState.cullFace); in SerializeRasterizerState()
405 json->addString("CullMode", ToString(rasterizerState.cullMode)); in SerializeRasterizerState()
406 json->addScalar("FrontFace", rasterizerState.frontFace); in SerializeRasterizerState()
407 json->addString("PolygonMode", ToString(rasterizerState.polygonMode)); in SerializeRasterizerState()
408 json->addScalar("PolygonOffsetPoint", rasterizerState.polygonOffsetPoint); in SerializeRasterizerState()
409 json->addScalar("PolygonOffsetLine", rasterizerState.polygonOffsetLine); in SerializeRasterizerState()
410 json->addScalar("PolygonOffsetFill", rasterizerState.polygonOffsetFill); in SerializeRasterizerState()
411 json->addScalar("PolygonOffsetFactor", rasterizerState.polygonOffsetFactor); in SerializeRasterizerState()
412 json->addScalar("PolygonOffsetUnits", rasterizerState.polygonOffsetUnits); in SerializeRasterizerState()
413 json->addScalar("PolygonOffsetClamp", rasterizerState.polygonOffsetClamp); in SerializeRasterizerState()
414 json->addScalar("DepthClamp", rasterizerState.depthClamp); in SerializeRasterizerState()
415 json->addScalar("PointDrawMode", rasterizerState.pointDrawMode); in SerializeRasterizerState()
416 json->addScalar("MultiSample", rasterizerState.multiSample); in SerializeRasterizerState()
417 json->addScalar("RasterizerDiscard", rasterizerState.rasterizerDiscard); in SerializeRasterizerState()
418 json->addScalar("Dither", rasterizerState.dither); in SerializeRasterizerState()
421 void SerializeRectangle(JsonSerializer *json, in SerializeRectangle() argument
425 GroupScope group(json, name); in SerializeRectangle()
426 json->addScalar("x", rectangle.x); in SerializeRectangle()
427 json->addScalar("y", rectangle.y); in SerializeRectangle()
428 json->addScalar("w", rectangle.width); in SerializeRectangle()
429 json->addScalar("h", rectangle.height); in SerializeRectangle()
432 void SerializeBlendStateExt(JsonSerializer *json, const gl::BlendStateExt &blendStateExt) in SerializeBlendStateExt() argument
434 GroupScope group(json, "BlendStateExt"); in SerializeBlendStateExt()
435 json->addScalar("DrawBufferCount", blendStateExt.getDrawBufferCount()); in SerializeBlendStateExt()
436 json->addScalar("EnableMask", blendStateExt.getEnabledMask().bits()); in SerializeBlendStateExt()
437 json->addScalar("DstColor", blendStateExt.getDstColorBits()); in SerializeBlendStateExt()
438 json->addScalar("DstAlpha", blendStateExt.getDstAlphaBits()); in SerializeBlendStateExt()
439 json->addScalar("SrcColor", blendStateExt.getSrcColorBits()); in SerializeBlendStateExt()
440 json->addScalar("SrcAlpha", blendStateExt.getSrcAlphaBits()); in SerializeBlendStateExt()
441 json->addScalar("EquationColor", blendStateExt.getEquationColorBits()); in SerializeBlendStateExt()
442 json->addScalar("EquationAlpha", blendStateExt.getEquationAlphaBits()); in SerializeBlendStateExt()
443 json->addScalar("ColorMask", blendStateExt.getColorMaskBits()); in SerializeBlendStateExt()
446 void SerializeDepthStencilState(JsonSerializer *json, in SerializeDepthStencilState() argument
449 GroupScope group(json, "DepthStencilState"); in SerializeDepthStencilState()
450 json->addScalar("DepthTest", depthStencilState.depthTest); in SerializeDepthStencilState()
451 json->addScalar("DepthFunc", depthStencilState.depthFunc); in SerializeDepthStencilState()
452 json->addScalar("DepthMask", depthStencilState.depthMask); in SerializeDepthStencilState()
453 json->addScalar("StencilTest", depthStencilState.stencilTest); in SerializeDepthStencilState()
454 json->addScalar("StencilFunc", depthStencilState.stencilFunc); in SerializeDepthStencilState()
455 json->addScalar("StencilMask", depthStencilState.stencilMask); in SerializeDepthStencilState()
456 json->addScalar("StencilFail", depthStencilState.stencilFail); in SerializeDepthStencilState()
457 json->addScalar("StencilPassDepthFail", depthStencilState.stencilPassDepthFail); in SerializeDepthStencilState()
458 json->addScalar("StencilPassDepthPass", depthStencilState.stencilPassDepthPass); in SerializeDepthStencilState()
459 json->addScalar("StencilWritemask", depthStencilState.stencilWritemask); in SerializeDepthStencilState()
460 json->addScalar("StencilBackFunc", depthStencilState.stencilBackFunc); in SerializeDepthStencilState()
461 json->addScalar("StencilBackMask", depthStencilState.stencilBackMask); in SerializeDepthStencilState()
462 json->addScalar("StencilBackFail", depthStencilState.stencilBackFail); in SerializeDepthStencilState()
463 json->addScalar("StencilBackPassDepthFail", depthStencilState.stencilBackPassDepthFail); in SerializeDepthStencilState()
464 json->addScalar("StencilBackPassDepthPass", depthStencilState.stencilBackPassDepthPass); in SerializeDepthStencilState()
465 json->addScalar("StencilBackWritemask", depthStencilState.stencilBackWritemask); in SerializeDepthStencilState()
469 JsonSerializer *json, in SerializeVertexAttribCurrentValueData() argument
477 json->addScalar("0", vertexAttribCurrentValueData.Values.FloatValues[0]); in SerializeVertexAttribCurrentValueData()
478 json->addScalar("1", vertexAttribCurrentValueData.Values.FloatValues[1]); in SerializeVertexAttribCurrentValueData()
479 json->addScalar("2", vertexAttribCurrentValueData.Values.FloatValues[2]); in SerializeVertexAttribCurrentValueData()
480 json->addScalar("3", vertexAttribCurrentValueData.Values.FloatValues[3]); in SerializeVertexAttribCurrentValueData()
484 json->addScalar("0", vertexAttribCurrentValueData.Values.IntValues[0]); in SerializeVertexAttribCurrentValueData()
485 json->addScalar("1", vertexAttribCurrentValueData.Values.IntValues[1]); in SerializeVertexAttribCurrentValueData()
486 json->addScalar("2", vertexAttribCurrentValueData.Values.IntValues[2]); in SerializeVertexAttribCurrentValueData()
487 json->addScalar("3", vertexAttribCurrentValueData.Values.IntValues[3]); in SerializeVertexAttribCurrentValueData()
491 json->addScalar("0", vertexAttribCurrentValueData.Values.UnsignedIntValues[0]); in SerializeVertexAttribCurrentValueData()
492 json->addScalar("1", vertexAttribCurrentValueData.Values.UnsignedIntValues[1]); in SerializeVertexAttribCurrentValueData()
493 json->addScalar("2", vertexAttribCurrentValueData.Values.UnsignedIntValues[2]); in SerializeVertexAttribCurrentValueData()
494 json->addScalar("3", vertexAttribCurrentValueData.Values.UnsignedIntValues[3]); in SerializeVertexAttribCurrentValueData()
498 void SerializePixelPackState(JsonSerializer *json, const gl::PixelPackState &pixelPackState) in SerializePixelPackState() argument
500 GroupScope group(json, "PixelPackState"); in SerializePixelPackState()
501 json->addScalar("Alignment", pixelPackState.alignment); in SerializePixelPackState()
502 json->addScalar("RowLength", pixelPackState.rowLength); in SerializePixelPackState()
503 json->addScalar("SkipRows", pixelPackState.skipRows); in SerializePixelPackState()
504 json->addScalar("SkipPixels", pixelPackState.skipPixels); in SerializePixelPackState()
505 json->addScalar("ImageHeight", pixelPackState.imageHeight); in SerializePixelPackState()
506 json->addScalar("SkipImages", pixelPackState.skipImages); in SerializePixelPackState()
507 json->addScalar("ReverseRowOrder", pixelPackState.reverseRowOrder); in SerializePixelPackState()
510 void SerializePixelUnpackState(JsonSerializer *json, const gl::PixelUnpackState &pixelUnpackState) in SerializePixelUnpackState() argument
512 GroupScope group(json, "PixelUnpackState"); in SerializePixelUnpackState()
513 json->addScalar("Alignment", pixelUnpackState.alignment); in SerializePixelUnpackState()
514 json->addScalar("RowLength", pixelUnpackState.rowLength); in SerializePixelUnpackState()
515 json->addScalar("SkipRows", pixelUnpackState.skipRows); in SerializePixelUnpackState()
516 json->addScalar("SkipPixels", pixelUnpackState.skipPixels); in SerializePixelUnpackState()
517 json->addScalar("ImageHeight", pixelUnpackState.imageHeight); in SerializePixelUnpackState()
518 json->addScalar("SkipImages", pixelUnpackState.skipImages); in SerializePixelUnpackState()
521 void SerializeImageUnit(JsonSerializer *json, const gl::ImageUnit &imageUnit, int imageUnitIndex) in SerializeImageUnit() argument
523 GroupScope group(json, "ImageUnit", imageUnitIndex); in SerializeImageUnit()
524 json->addScalar("Level", imageUnit.level); in SerializeImageUnit()
525 json->addScalar("Layered", imageUnit.layered); in SerializeImageUnit()
526 json->addScalar("Layer", imageUnit.layer); in SerializeImageUnit()
527 json->addScalar("Access", imageUnit.access); in SerializeImageUnit()
528 json->addCString("Format", gl::GLinternalFormatToString(imageUnit.format)); in SerializeImageUnit()
529 json->addScalar("TextureID", imageUnit.texture.id().value); in SerializeImageUnit()
533 void SerializeResourceID(JsonSerializer *json, const char *name, const ResourceType *resource) in SerializeResourceID() argument
535 json->addScalar(name, resource ? resource->id().value : 0); in SerializeResourceID()
538 void SerializeContextState(JsonSerializer *json, const gl::State &state) in SerializeContextState() argument
540 GroupScope group(json, "ContextState"); in SerializeContextState()
541 json->addScalar("Priority", state.getContextPriority()); in SerializeContextState()
542 json->addScalar("Major", state.getClientMajorVersion()); in SerializeContextState()
543 json->addScalar("Minor", state.getClientMinorVersion()); in SerializeContextState()
544 SerializeColorFWithGroup(json, "ColorClearValue", state.getColorClearValue()); in SerializeContextState()
545 json->addScalar("DepthClearValue", state.getDepthClearValue()); in SerializeContextState()
546 json->addScalar("StencilClearValue", state.getStencilClearValue()); in SerializeContextState()
547 SerializeRasterizerState(json, state.getRasterizerState()); in SerializeContextState()
548 json->addScalar("ScissorTestEnabled", state.isScissorTestEnabled()); in SerializeContextState()
549 SerializeRectangle(json, "Scissors", state.getScissor()); in SerializeContextState()
550 SerializeBlendStateExt(json, state.getBlendStateExt()); in SerializeContextState()
551 SerializeColorFWithGroup(json, "BlendColor", state.getBlendColor()); in SerializeContextState()
552 json->addScalar("SampleAlphaToCoverageEnabled", state.isSampleAlphaToCoverageEnabled()); in SerializeContextState()
553 json->addScalar("SampleCoverageEnabled", state.isSampleCoverageEnabled()); in SerializeContextState()
554 json->addScalar("SampleCoverageValue", state.getSampleCoverageValue()); in SerializeContextState()
555 json->addScalar("SampleCoverageInvert", state.getSampleCoverageInvert()); in SerializeContextState()
556 json->addScalar("SampleMaskEnabled", state.isSampleMaskEnabled()); in SerializeContextState()
557 json->addScalar("MaxSampleMaskWords", state.getMaxSampleMaskWords()); in SerializeContextState()
560 GroupScope maskGroup(json, "SampleMaskValues"); in SerializeContextState()
563 json->addScalar(ToString(i), sampleMaskValues[i]); in SerializeContextState()
566 SerializeDepthStencilState(json, state.getDepthStencilState()); in SerializeContextState()
567 json->addScalar("StencilRef", state.getStencilRef()); in SerializeContextState()
568 json->addScalar("StencilBackRef", state.getStencilBackRef()); in SerializeContextState()
569 json->addScalar("LineWidth", state.getLineWidth()); in SerializeContextState()
570 json->addScalar("GenerateMipmapHint", state.getGenerateMipmapHint()); in SerializeContextState()
571 json->addScalar("FragmentShaderDerivativeHint", state.getFragmentShaderDerivativeHint()); in SerializeContextState()
572 json->addScalar("BindGeneratesResourceEnabled", state.isBindGeneratesResourceEnabled()); in SerializeContextState()
573 json->addScalar("ClientArraysEnabled", state.areClientArraysEnabled()); in SerializeContextState()
574 SerializeRectangle(json, "Viewport", state.getViewport()); in SerializeContextState()
575 json->addScalar("Near", state.getNearPlane()); in SerializeContextState()
576 json->addScalar("Far", state.getFarPlane()); in SerializeContextState()
577 json->addString("ClipOrigin", ToString(state.getClipOrigin())); in SerializeContextState()
578 json->addString("ClipDepthMode", ToString(state.getClipDepthMode())); in SerializeContextState()
579 SerializeResourceID(json, "ReadFramebufferID", state.getReadFramebuffer()); in SerializeContextState()
580 SerializeResourceID(json, "DrawFramebufferID", state.getDrawFramebuffer()); in SerializeContextState()
581 json->addScalar("RenderbufferID", state.getRenderbufferId().value); in SerializeContextState()
582 SerializeResourceID(json, "CurrentProgramID", state.getProgram()); in SerializeContextState()
583 SerializeResourceID(json, "CurrentProgramPipelineID", state.getProgramPipeline()); in SerializeContextState()
584 json->addString("ProvokingVertex", ToString(state.getProvokingVertex())); in SerializeContextState()
589 GroupScope vagroup(json, "VertexAttribCurrentValue", static_cast<int>(i)); in SerializeContextState()
590 SerializeVertexAttribCurrentValueData(json, vertexAttribCurrentValues[i]); in SerializeContextState()
593 json->addScalar("VertexArrayID", state.getVertexArray()->id().value); in SerializeContextState()
594 json->addScalar("CurrentValuesTypeMask", state.getCurrentValuesTypeMask().to_ulong()); in SerializeContextState()
595 json->addScalar("ActiveSampler", state.getActiveSampler()); in SerializeContextState()
597 GroupScope boundTexturesGroup(json, "BoundTextures"); in SerializeContextState()
602 GroupScope texturesGroup(json, ToString(textureType)); in SerializeContextState()
603 SerializeBindingPointerVector<gl::Texture>(json, textures); in SerializeContextState()
606 json->addScalar("TexturesIncompatibleWithSamplers", in SerializeContextState()
610 GroupScope texturesCacheGroup(json, "ActiveTexturesCache"); in SerializeContextState()
618 json->addScalar(strstr.str(), tex ? tex->id().value : 0); in SerializeContextState()
623 GroupScope samplersGroupScope(json, "Samplers"); in SerializeContextState()
624 SerializeBindingPointerVector<gl::Sampler>(json, state.getSamplers()); in SerializeContextState()
628 GroupScope imageUnitsGroup(json, "BoundImageUnits"); in SerializeContextState()
634 SerializeImageUnit(json, imageUnit, static_cast<int>(imageUnitIndex)); in SerializeContextState()
640 GroupScope activeQueriesGroup(json, "ActiveQueries"); in SerializeContextState()
646 json->addScalar(strstr.str(), query.id().value); in SerializeContextState()
652 GroupScope boundBuffersGroup(json, "BoundBuffers"); in SerializeContextState()
658 json->addScalar(strstr.str(), buffer.id().value); in SerializeContextState()
662 SerializeOffsetBindingPointerVector<gl::Buffer>(json, "UniformBufferBindings", in SerializeContextState()
665 json, "AtomicCounterBufferBindings", state.getOffsetBindingPointerAtomicCounterBuffers()); in SerializeContextState()
667 json, "ShaderStorageBufferBindings", state.getOffsetBindingPointerShaderStorageBuffers()); in SerializeContextState()
670 json->addScalar("CurrentTransformFeedback", in SerializeContextState()
673 SerializePixelUnpackState(json, state.getUnpackState()); in SerializeContextState()
674 SerializePixelPackState(json, state.getPackState()); in SerializeContextState()
675 json->addScalar("PrimitiveRestartEnabled", state.isPrimitiveRestartEnabled()); in SerializeContextState()
676 json->addScalar("MultisamplingEnabled", state.isMultisamplingEnabled()); in SerializeContextState()
677 json->addScalar("SampleAlphaToOneEnabled", state.isSampleAlphaToOneEnabled()); in SerializeContextState()
678 json->addScalar("CoverageModulation", state.getCoverageModulation()); in SerializeContextState()
679 json->addScalar("FramebufferSRGB", state.getFramebufferSRGB()); in SerializeContextState()
680 json->addScalar("RobustResourceInitEnabled", state.isRobustResourceInitEnabled()); in SerializeContextState()
681 json->addScalar("ProgramBinaryCacheEnabled", state.isProgramBinaryCacheEnabled()); in SerializeContextState()
682 json->addScalar("TextureRectangleEnabled", state.isTextureRectangleEnabled()); in SerializeContextState()
683 json->addScalar("MaxShaderCompilerThreads", state.getMaxShaderCompilerThreads()); in SerializeContextState()
684 json->addScalar("EnabledClipDistances", state.getEnabledClipDistances().to_ulong()); in SerializeContextState()
685 json->addScalar("BlendFuncConstantAlphaDrawBuffers", in SerializeContextState()
687 json->addScalar("BlendFuncConstantColorDrawBuffers", in SerializeContextState()
689 json->addScalar("SimultaneousConstantColorAndAlphaBlendFunc", in SerializeContextState()
693 void SerializeBufferState(JsonSerializer *json, const gl::BufferState &bufferState) in SerializeBufferState() argument
695 json->addString("Label", bufferState.getLabel()); in SerializeBufferState()
696 json->addString("Usage", ToString(bufferState.getUsage())); in SerializeBufferState()
697 json->addScalar("Size", bufferState.getSize()); in SerializeBufferState()
698 json->addScalar("AccessFlags", bufferState.getAccessFlags()); in SerializeBufferState()
699 json->addScalar("Access", bufferState.getAccess()); in SerializeBufferState()
700 json->addScalar("Mapped", bufferState.isMapped()); in SerializeBufferState()
701 json->addScalar("MapOffset", bufferState.getMapOffset()); in SerializeBufferState()
702 json->addScalar("MapLength", bufferState.getMapLength()); in SerializeBufferState()
706 JsonSerializer *json, in SerializeBuffer() argument
710 GroupScope group(json, "Buffer", buffer->id().value); in SerializeBuffer()
711 SerializeBufferState(json, buffer->getState()); in SerializeBuffer()
719 json->addBlob("data", dataPtr->data(), dataPtr->size()); in SerializeBuffer()
723 json->addCString("data", "null"); in SerializeBuffer()
728 void SerializeColorGeneric(JsonSerializer *json, in SerializeColorGeneric() argument
732 GroupScope group(json, name); in SerializeColorGeneric()
736 json->addCString("Type", ColorGenericTypeToString(colorGeneric.type)); in SerializeColorGeneric()
739 SerializeColorF(json, colorGeneric.colorF); in SerializeColorGeneric()
743 SerializeColorI(json, colorGeneric.colorI); in SerializeColorGeneric()
747 SerializeColorUI(json, colorGeneric.colorUI); in SerializeColorGeneric()
751 void SerializeSamplerState(JsonSerializer *json, const gl::SamplerState &samplerState) in SerializeSamplerState() argument
753 json->addScalar("MinFilter", samplerState.getMinFilter()); in SerializeSamplerState()
754 json->addScalar("MagFilter", samplerState.getMagFilter()); in SerializeSamplerState()
755 json->addScalar("WrapS", samplerState.getWrapS()); in SerializeSamplerState()
756 json->addScalar("WrapT", samplerState.getWrapT()); in SerializeSamplerState()
757 json->addScalar("WrapR", samplerState.getWrapR()); in SerializeSamplerState()
758 json->addScalar("MaxAnisotropy", samplerState.getMaxAnisotropy()); in SerializeSamplerState()
759 json->addScalar("MinLod", samplerState.getMinLod()); in SerializeSamplerState()
760 json->addScalar("MaxLod", samplerState.getMaxLod()); in SerializeSamplerState()
761 json->addScalar("CompareMode", samplerState.getCompareMode()); in SerializeSamplerState()
762 json->addScalar("CompareFunc", samplerState.getCompareFunc()); in SerializeSamplerState()
763 json->addScalar("SRGBDecode", samplerState.getSRGBDecode()); in SerializeSamplerState()
764 SerializeColorGeneric(json, "BorderColor", samplerState.getBorderColor()); in SerializeSamplerState()
767 void SerializeSampler(JsonSerializer *json, gl::Sampler *sampler) in SerializeSampler() argument
769 GroupScope group(json, "Sampler", sampler->id().value); in SerializeSampler()
770 json->addString("Label", sampler->getLabel()); in SerializeSampler()
771 SerializeSamplerState(json, sampler->getSamplerState()); in SerializeSampler()
774 void SerializeSwizzleState(JsonSerializer *json, const gl::SwizzleState &swizzleState) in SerializeSwizzleState() argument
776 json->addScalar("SwizzleRed", swizzleState.swizzleRed); in SerializeSwizzleState()
777 json->addScalar("SwizzleGreen", swizzleState.swizzleGreen); in SerializeSwizzleState()
778 json->addScalar("SwizzleBlue", swizzleState.swizzleBlue); in SerializeSwizzleState()
779 json->addScalar("SwizzleAlpha", swizzleState.swizzleAlpha); in SerializeSwizzleState()
782 void SerializeRenderbufferState(JsonSerializer *json, in SerializeRenderbufferState() argument
785 GroupScope wg(json, "State"); in SerializeRenderbufferState()
786 json->addScalar("Width", renderbufferState.getWidth()); in SerializeRenderbufferState()
787 json->addScalar("Height", renderbufferState.getHeight()); in SerializeRenderbufferState()
788 SerializeGLFormat(json, renderbufferState.getFormat()); in SerializeRenderbufferState()
789 json->addScalar("Samples", renderbufferState.getSamples()); in SerializeRenderbufferState()
790 json->addCString("InitState", InitStateToString(renderbufferState.getInitState())); in SerializeRenderbufferState()
794 JsonSerializer *json, in SerializeRenderbuffer() argument
798 GroupScope wg(json, "Renderbuffer", renderbuffer->id().value); in SerializeRenderbuffer()
799 SerializeRenderbufferState(json, renderbuffer->getState()); in SerializeRenderbuffer()
800 json->addString("Label", renderbuffer->getLabel()); in SerializeRenderbuffer()
809 json->addCString("Pixels", "multisampled depth buffer"); in SerializeRenderbuffer()
813 json->addCString("Pixels", "no pixels"); in SerializeRenderbuffer()
837 json->addBlob("Pixels", pixelsPtr->data(), pixelsPtr->size()); in SerializeRenderbuffer()
842 json->addCString("Pixels", "Not initialized"); in SerializeRenderbuffer()
847 void SerializeWorkGroupSize(JsonSerializer *json, const sh::WorkGroupSize &workGroupSize) in SerializeWorkGroupSize() argument
849 GroupScope wg(json, "workGroupSize"); in SerializeWorkGroupSize()
850 json->addScalar("x", workGroupSize[0]); in SerializeWorkGroupSize()
851 json->addScalar("y", workGroupSize[1]); in SerializeWorkGroupSize()
852 json->addScalar("z", workGroupSize[2]); in SerializeWorkGroupSize()
855 void SerializeUniformIndexToBufferBinding(JsonSerializer *json, in SerializeUniformIndexToBufferBinding() argument
858 GroupScope wg(json, "uniformBlockIndexToBufferBinding"); in SerializeUniformIndexToBufferBinding()
861 json->addScalar(ToString(blockIndex), blockToBuffer[blockIndex]); in SerializeUniformIndexToBufferBinding()
865 void SerializeShaderVariable(JsonSerializer *json, const sh::ShaderVariable &shaderVariable) in SerializeShaderVariable() argument
867 GroupScope wg(json, "ShaderVariable"); in SerializeShaderVariable()
868 json->addScalar("Type", shaderVariable.type); in SerializeShaderVariable()
869 json->addScalar("Precision", shaderVariable.precision); in SerializeShaderVariable()
870 json->addString("Name", shaderVariable.name); in SerializeShaderVariable()
871 json->addString("MappedName", shaderVariable.mappedName); in SerializeShaderVariable()
872 json->addVector("ArraySizes", shaderVariable.arraySizes); in SerializeShaderVariable()
873 json->addScalar("StaticUse", shaderVariable.staticUse); in SerializeShaderVariable()
874 json->addScalar("Active", shaderVariable.active); in SerializeShaderVariable()
877 SerializeShaderVariable(json, field); in SerializeShaderVariable()
879 json->addString("StructOrBlockName", shaderVariable.structOrBlockName); in SerializeShaderVariable()
880 json->addString("MappedStructOrBlockName", shaderVariable.mappedStructOrBlockName); in SerializeShaderVariable()
881 json->addScalar("RowMajorLayout", shaderVariable.isRowMajorLayout); in SerializeShaderVariable()
882 json->addScalar("Location", shaderVariable.location); in SerializeShaderVariable()
883 json->addScalar("Binding", shaderVariable.binding); in SerializeShaderVariable()
884 json->addScalar("ImageUnitFormat", shaderVariable.imageUnitFormat); in SerializeShaderVariable()
885 json->addScalar("Offset", shaderVariable.offset); in SerializeShaderVariable()
886 json->addScalar("Readonly", shaderVariable.readonly); in SerializeShaderVariable()
887 json->addScalar("Writeonly", shaderVariable.writeonly); in SerializeShaderVariable()
888 json->addScalar("Index", shaderVariable.index); in SerializeShaderVariable()
889 json->addScalar("YUV", shaderVariable.yuv); in SerializeShaderVariable()
890 json->addCString("Interpolation", InterpolationTypeToString(shaderVariable.interpolation)); in SerializeShaderVariable()
891 json->addScalar("Invariant", shaderVariable.isInvariant); in SerializeShaderVariable()
892 json->addScalar("TexelFetchStaticUse", shaderVariable.texelFetchStaticUse); in SerializeShaderVariable()
895 void SerializeShaderVariablesVector(JsonSerializer *json, in SerializeShaderVariablesVector() argument
900 SerializeShaderVariable(json, shaderVariable); in SerializeShaderVariablesVector()
904 void SerializeInterfaceBlocksVector(JsonSerializer *json, in SerializeInterfaceBlocksVector() argument
909 GroupScope group(json, "Interface Block"); in SerializeInterfaceBlocksVector()
910 json->addString("Name", interfaceBlock.name); in SerializeInterfaceBlocksVector()
911 json->addString("MappedName", interfaceBlock.mappedName); in SerializeInterfaceBlocksVector()
912 json->addString("InstanceName", interfaceBlock.instanceName); in SerializeInterfaceBlocksVector()
913 json->addScalar("ArraySize", interfaceBlock.arraySize); in SerializeInterfaceBlocksVector()
914 json->addCString("Layout", BlockLayoutTypeToString(interfaceBlock.layout)); in SerializeInterfaceBlocksVector()
915 json->addScalar("Binding", interfaceBlock.binding); in SerializeInterfaceBlocksVector()
916 json->addScalar("StaticUse", interfaceBlock.staticUse); in SerializeInterfaceBlocksVector()
917 json->addScalar("Active", interfaceBlock.active); in SerializeInterfaceBlocksVector()
918 json->addCString("BlockType", BlockTypeToString(interfaceBlock.blockType)); in SerializeInterfaceBlocksVector()
919 SerializeShaderVariablesVector(json, interfaceBlock.fields); in SerializeInterfaceBlocksVector()
923 void SerializeCompiledShaderState(JsonSerializer *json, const gl::SharedCompiledShaderState &state) in SerializeCompiledShaderState() argument
925 json->addCString("Type", gl::ShaderTypeToString(state->shaderType)); in SerializeCompiledShaderState()
926 json->addScalar("Version", state->shaderVersion); in SerializeCompiledShaderState()
927 json->addString("TranslatedSource", state->translatedSource); in SerializeCompiledShaderState()
928 json->addVectorAsHash("CompiledBinary", state->compiledBinary); in SerializeCompiledShaderState()
929 SerializeWorkGroupSize(json, state->localSize); in SerializeCompiledShaderState()
930 SerializeShaderVariablesVector(json, state->inputVaryings); in SerializeCompiledShaderState()
931 SerializeShaderVariablesVector(json, state->outputVaryings); in SerializeCompiledShaderState()
932 SerializeShaderVariablesVector(json, state->uniforms); in SerializeCompiledShaderState()
933 SerializeInterfaceBlocksVector(json, state->uniformBlocks); in SerializeCompiledShaderState()
934 SerializeInterfaceBlocksVector(json, state->shaderStorageBlocks); in SerializeCompiledShaderState()
935 SerializeShaderVariablesVector(json, state->allAttributes); in SerializeCompiledShaderState()
936 SerializeShaderVariablesVector(json, state->activeAttributes); in SerializeCompiledShaderState()
937 SerializeShaderVariablesVector(json, state->activeOutputVariables); in SerializeCompiledShaderState()
938 json->addScalar("NumViews", state->numViews); in SerializeCompiledShaderState()
939 json->addScalar("SpecConstUsageBits", state->specConstUsageBits.bits()); in SerializeCompiledShaderState()
940 json->addScalar("MetadataFlags", state->metadataFlags.bits()); in SerializeCompiledShaderState()
941 json->addScalar("AdvancedBlendEquations", state->advancedBlendEquations.bits()); in SerializeCompiledShaderState()
942 json->addString("GeometryShaderInputPrimitiveType", in SerializeCompiledShaderState()
944 json->addString("GeometryShaderOutputPrimitiveType", in SerializeCompiledShaderState()
946 json->addScalar("GeometryShaderMaxVertices", state->geometryShaderMaxVertices); in SerializeCompiledShaderState()
947 json->addScalar("GeometryShaderInvocations", state->geometryShaderInvocations); in SerializeCompiledShaderState()
948 json->addScalar("TessControlShaderVertices", state->tessControlShaderVertices); in SerializeCompiledShaderState()
949 json->addScalar("TessGenMode", state->tessGenMode); in SerializeCompiledShaderState()
950 json->addScalar("TessGenSpacing", state->tessGenSpacing); in SerializeCompiledShaderState()
951 json->addScalar("TessGenVertexOrder", state->tessGenVertexOrder); in SerializeCompiledShaderState()
952 json->addScalar("TessGenPointMode", state->tessGenPointMode); in SerializeCompiledShaderState()
955 void SerializeShaderState(JsonSerializer *json, const gl::ShaderState &shaderState) in SerializeShaderState() argument
957 GroupScope group(json, "ShaderState"); in SerializeShaderState()
958 json->addString("Label", shaderState.getLabel()); in SerializeShaderState()
959 json->addString("Source", shaderState.getSource()); in SerializeShaderState()
960 json->addCString("CompileStatus", CompileStatusToString(shaderState.getCompileStatus())); in SerializeShaderState()
964 JsonSerializer *json, in SerializeShader() argument
971 GroupScope group(json, "Shader", id); in SerializeShader()
972 SerializeShaderState(json, shader->getState()); in SerializeShader()
973 SerializeCompiledShaderState(json, shader->getCompiledState()); in SerializeShader()
974 json->addScalar("Handle", shader->getHandle().value); in SerializeShader()
977 // json->addScalar("RefCount", shader->getRefCount()); in SerializeShader()
978 json->addScalar("FlaggedForDeletion", shader->isFlaggedForDeletion()); in SerializeShader()
980 json->addString("InfoLogString", shader->getInfoLogString()); in SerializeShader()
984 void SerializeVariableLocationsVector(JsonSerializer *json, in SerializeVariableLocationsVector() argument
988 GroupScope group(json, group_name); in SerializeVariableLocationsVector()
992 GroupScope vargroup(json, "Location", static_cast<int>(locIndex)); in SerializeVariableLocationsVector()
993 json->addScalar("ArrayIndex", variableLocation.arrayIndex); in SerializeVariableLocationsVector()
994 json->addScalar("Index", variableLocation.index); in SerializeVariableLocationsVector()
995 json->addScalar("Ignored", variableLocation.ignored); in SerializeVariableLocationsVector()
999 void SerializeBlockMemberInfo(JsonSerializer *json, const sh::BlockMemberInfo &blockMemberInfo) in SerializeBlockMemberInfo() argument
1001 GroupScope group(json, "BlockMemberInfo"); in SerializeBlockMemberInfo()
1002 json->addScalar("Offset", blockMemberInfo.offset); in SerializeBlockMemberInfo()
1003 json->addScalar("Stride", blockMemberInfo.arrayStride); in SerializeBlockMemberInfo()
1004 json->addScalar("MatrixStride", blockMemberInfo.matrixStride); in SerializeBlockMemberInfo()
1005 json->addScalar("IsRowMajorMatrix", blockMemberInfo.isRowMajorMatrix); in SerializeBlockMemberInfo()
1006 json->addScalar("TopLevelArrayStride", blockMemberInfo.topLevelArrayStride); in SerializeBlockMemberInfo()
1009 void SerializeBufferVariablesVector(JsonSerializer *json, in SerializeBufferVariablesVector() argument
1014 GroupScope group(json, "BufferVariable"); in SerializeBufferVariablesVector()
1015 json->addString("Name", bufferVariable.name); in SerializeBufferVariablesVector()
1016 json->addString("MappedName", bufferVariable.mappedName); in SerializeBufferVariablesVector()
1018 json->addScalar("Type", bufferVariable.pod.type); in SerializeBufferVariablesVector()
1019 json->addScalar("Precision", bufferVariable.pod.precision); in SerializeBufferVariablesVector()
1020 json->addScalar("activeUseBits", bufferVariable.activeShaders().to_ulong()); in SerializeBufferVariablesVector()
1023 json->addScalar( in SerializeBufferVariablesVector()
1028 json->addScalar("BufferIndex", bufferVariable.pod.bufferIndex); in SerializeBufferVariablesVector()
1029 SerializeBlockMemberInfo(json, bufferVariable.pod.blockInfo); in SerializeBufferVariablesVector()
1031 json->addScalar("TopLevelArraySize", bufferVariable.pod.topLevelArraySize); in SerializeBufferVariablesVector()
1032 json->addScalar("basicTypeElementCount", bufferVariable.pod.basicTypeElementCount); in SerializeBufferVariablesVector()
1033 json->addScalar("isArray", bufferVariable.pod.isArray); in SerializeBufferVariablesVector()
1037 void SerializeProgramAliasedBindings(JsonSerializer *json, in SerializeProgramAliasedBindings() argument
1042 GroupScope group(json, programAliasedBinding.first); in SerializeProgramAliasedBindings()
1043 json->addScalar("Location", programAliasedBinding.second.location); in SerializeProgramAliasedBindings()
1044 json->addScalar("Aliased", programAliasedBinding.second.aliased); in SerializeProgramAliasedBindings()
1048 void SerializeProgramState(JsonSerializer *json, const gl::ProgramState &programState) in SerializeProgramState() argument
1050 json->addString("Label", programState.getLabel()); in SerializeProgramState()
1051 json->addVectorOfStrings("TransformFeedbackVaryingNames", in SerializeProgramState()
1053 json->addScalar("BinaryRetrieveableHint", programState.hasBinaryRetrieveableHint()); in SerializeProgramState()
1054 json->addScalar("Separable", programState.isSeparable()); in SerializeProgramState()
1055 SerializeProgramAliasedBindings(json, programState.getUniformLocationBindings()); in SerializeProgramState()
1059 SerializeWorkGroupSize(json, executable.getComputeShaderLocalSize()); in SerializeProgramState()
1061 json, executable.getUniformBlockIndexToBufferBindingForCapture()); in SerializeProgramState()
1062 SerializeVariableLocationsVector(json, "UniformLocations", executable.getUniformLocations()); in SerializeProgramState()
1063 SerializeBufferVariablesVector(json, executable.getBufferVariables()); in SerializeProgramState()
1064 SerializeRange(json, executable.getAtomicCounterUniformRange()); in SerializeProgramState()
1065 SerializeVariableLocationsVector(json, "SecondaryOutputLocations", in SerializeProgramState()
1067 json->addScalar("NumViews", executable.getNumViews()); in SerializeProgramState()
1068 json->addScalar("DrawIDLocation", executable.getDrawIDLocation()); in SerializeProgramState()
1069 json->addScalar("BaseVertexLocation", executable.getBaseVertexLocation()); in SerializeProgramState()
1070 json->addScalar("BaseInstanceLocation", executable.getBaseInstanceLocation()); in SerializeProgramState()
1073 void SerializeProgramBindings(JsonSerializer *json, const gl::ProgramBindings &programBindings) in SerializeProgramBindings() argument
1077 json->addScalar(programBinding.first, programBinding.second); in SerializeProgramBindings()
1082 void SerializeUniformData(JsonSerializer *json, in SerializeUniformData() argument
1094 json->addVector("Data", uniformData); in SerializeUniformData()
1097 void SerializeProgram(JsonSerializer *json, in SerializeProgram() argument
1105 GroupScope group(json, "Program", id); in SerializeProgram()
1113 json->addVector("Handle", shaderHandles); in SerializeProgram()
1115 SerializeProgramState(json, program->getState()); in SerializeProgram()
1116 json->addScalar("IsValidated", program->isValidated()); in SerializeProgram()
1117 SerializeProgramBindings(json, program->getAttributeBindings()); in SerializeProgram()
1118 SerializeProgramAliasedBindings(json, program->getFragmentOutputLocations()); in SerializeProgram()
1119 SerializeProgramAliasedBindings(json, program->getFragmentOutputIndexes()); in SerializeProgram()
1120 json->addScalar("IsLinked", program->isLinked()); in SerializeProgram()
1121 json->addScalar("IsFlaggedForDeletion", program->isFlaggedForDeletion()); in SerializeProgram()
1124 // json->addScalar("RefCount", program->getRefCount()); in SerializeProgram()
1125 json->addScalar("ID", program->id().value); in SerializeProgram()
1131 GroupScope uniformsGroup(json, "Uniforms"); in SerializeProgram()
1135 GroupScope uniformGroup(json, "Uniform", uniformIndex); in SerializeProgram()
1144 json->addCString("Name", uniformName); in SerializeProgram()
1145 json->addScalar("Size", size); in SerializeProgram()
1146 json->addCString("Type", gl::GLenumToString(gl::GLESEnum::AttributeType, type)); in SerializeProgram()
1159 SerializeUniformData<GLfloat>(json, context, executable, loc, type, size, in SerializeProgram()
1166 SerializeUniformData<GLint>(json, context, executable, loc, type, size, in SerializeProgram()
1172 SerializeUniformData<GLuint>(json, context, executable, loc, type, size, in SerializeProgram()
1184 void SerializeImageDesc(JsonSerializer *json, size_t descIndex, const gl::ImageDesc &imageDesc) in SerializeImageDesc() argument
1192 GroupScope group(json, "ImageDesc", static_cast<int>(descIndex)); in SerializeImageDesc()
1193 SerializeExtents(json, imageDesc.size); in SerializeImageDesc()
1194 SerializeGLFormat(json, imageDesc.format); in SerializeImageDesc()
1195 json->addScalar("Samples", imageDesc.samples); in SerializeImageDesc()
1196 json->addScalar("FixesSampleLocations", imageDesc.fixedSampleLocations); in SerializeImageDesc()
1197 json->addCString("InitState", InitStateToString(imageDesc.initState)); in SerializeImageDesc()
1200 void SerializeTextureState(JsonSerializer *json, const gl::TextureState &textureState) in SerializeTextureState() argument
1202 json->addString("Type", ToString(textureState.getType())); in SerializeTextureState()
1203 SerializeSwizzleState(json, textureState.getSwizzleState()); in SerializeTextureState()
1205 GroupScope samplerStateGroup(json, "SamplerState"); in SerializeTextureState()
1206 SerializeSamplerState(json, textureState.getSamplerState()); in SerializeTextureState()
1208 json->addCString("SRGB", SrgbOverrideToString(textureState.getSRGBOverride())); in SerializeTextureState()
1209 json->addScalar("BaseLevel", textureState.getBaseLevel()); in SerializeTextureState()
1210 json->addScalar("MaxLevel", textureState.getMaxLevel()); in SerializeTextureState()
1211 json->addScalar("DepthStencilTextureMode", textureState.getDepthStencilTextureMode()); in SerializeTextureState()
1212 json->addScalar("BeenBoundAsImage", textureState.hasBeenBoundAsImage()); in SerializeTextureState()
1213 json->addScalar("ImmutableFormat", textureState.getImmutableFormat()); in SerializeTextureState()
1214 json->addScalar("ImmutableLevels", textureState.getImmutableLevels()); in SerializeTextureState()
1215 json->addScalar("Usage", textureState.getUsage()); in SerializeTextureState()
1216 SerializeRectangle(json, "Crop", textureState.getCrop()); in SerializeTextureState()
1217 json->addScalar("GenerateMipmapHint", textureState.getGenerateMipmapHint()); in SerializeTextureState()
1218 json->addCString("InitState", InitStateToString(textureState.getInitState())); in SerializeTextureState()
1219 json->addScalar("BoundBufferID", textureState.getBuffer().id().value); in SerializeTextureState()
1222 GroupScope descGroup(json, "ImageDescs"); in SerializeTextureState()
1226 SerializeImageDesc(json, descIndex, imageDescs[descIndex]); in SerializeTextureState()
1231 Result SerializeTextureData(JsonSerializer *json, in SerializeTextureData() argument
1291 json->addCString(label.str(), "compressed texel data"); in SerializeTextureData()
1298 json->addBlob(label.str(), texelsPtr->data(), texelsPtr->size()); in SerializeTextureData()
1303 json->addCString(label.str(), "not initialized"); in SerializeTextureData()
1310 JsonSerializer *json, in SerializeTexture() argument
1314 GroupScope group(json, "Texture", texture->getId()); in SerializeTexture()
1319 ANGLE_TRY(SerializeTextureData(json, context, texture, scratchBuffer)); in SerializeTexture()
1322 SerializeTextureState(json, texture->getState()); in SerializeTexture()
1323 json->addString("Label", texture->getLabel()); in SerializeTexture()
1329 void SerializeVertexAttributeVector(JsonSerializer *json, in SerializeVertexAttributeVector() argument
1334 GroupScope group(json, "VertexAttribute", static_cast<int>(attribIndex)); in SerializeVertexAttributeVector()
1336 json->addScalar("BindingIndex", vertexAttribute.bindingIndex); in SerializeVertexAttributeVector()
1337 json->addScalar("Enabled", vertexAttribute.enabled); in SerializeVertexAttributeVector()
1339 SerializeANGLEFormat(json, vertexAttribute.format); in SerializeVertexAttributeVector()
1340 json->addScalar("RelativeOffset", vertexAttribute.relativeOffset); in SerializeVertexAttributeVector()
1341 json->addScalar("VertexAttribArrayStride", vertexAttribute.vertexAttribArrayStride); in SerializeVertexAttributeVector()
1345 void SerializeVertexBindingsVector(JsonSerializer *json, in SerializeVertexBindingsVector() argument
1350 GroupScope group(json, "VertexBinding", static_cast<int>(bindingIndex)); in SerializeVertexBindingsVector()
1352 json->addScalar("Stride", vertexBinding.getStride()); in SerializeVertexBindingsVector()
1353 json->addScalar("Divisor", vertexBinding.getDivisor()); in SerializeVertexBindingsVector()
1354 json->addScalar("Offset", vertexBinding.getOffset()); in SerializeVertexBindingsVector()
1355 json->addScalar("BufferID", vertexBinding.getBuffer().id().value); in SerializeVertexBindingsVector()
1356 json->addScalar("BoundAttributesMask", vertexBinding.getBoundAttributesMask().to_ulong()); in SerializeVertexBindingsVector()
1360 void SerializeVertexArrayState(JsonSerializer *json, const gl::VertexArrayState &vertexArrayState) in SerializeVertexArrayState() argument
1362 json->addString("Label", vertexArrayState.getLabel()); in SerializeVertexArrayState()
1363 SerializeVertexAttributeVector(json, vertexArrayState.getVertexAttributes()); in SerializeVertexArrayState()
1366 json->addScalar("ElementArrayBufferID", in SerializeVertexArrayState()
1371 json->addScalar("ElementArrayBufferID", 0); in SerializeVertexArrayState()
1373 SerializeVertexBindingsVector(json, vertexArrayState.getVertexBindings()); in SerializeVertexArrayState()
1374 json->addScalar("EnabledAttributesMask", in SerializeVertexArrayState()
1376 json->addScalar("VertexAttributesTypeMask", in SerializeVertexArrayState()
1378 json->addScalar("ClientMemoryAttribsMask", in SerializeVertexArrayState()
1380 json->addScalar("NullPointerClientMemoryAttribsMask", in SerializeVertexArrayState()
1384 void SerializeVertexArray(JsonSerializer *json, gl::VertexArray *vertexArray) in SerializeVertexArray() argument
1386 GroupScope group(json, "VertexArray", vertexArray->id().value); in SerializeVertexArray()
1387 SerializeVertexArrayState(json, vertexArray->getState()); in SerializeVertexArray()
1388 json->addScalar("BufferAccessValidationEnabled", in SerializeVertexArray()
1396 JsonSerializer json; in SerializeContextToString() local
1397 json.startGroup("Context"); in SerializeContextToString()
1399 SerializeContextState(&json, context->getState()); in SerializeContextToString()
1404 GroupScope framebufferGroup(&json, "FramebufferManager"); in SerializeContextToString()
1409 ANGLE_TRY(SerializeFramebuffer(context, &json, &scratchBuffer, framebufferPtr)); in SerializeContextToString()
1414 GroupScope framebufferGroup(&json, "BufferManager"); in SerializeContextToString()
1418 ANGLE_TRY(SerializeBuffer(context, &json, &scratchBuffer, bufferPtr)); in SerializeContextToString()
1424 GroupScope samplerGroup(&json, "SamplerManager"); in SerializeContextToString()
1429 SerializeSampler(&json, samplerPtr); in SerializeContextToString()
1435 GroupScope renderbufferGroup(&json, "RenderbufferManager"); in SerializeContextToString()
1440 ANGLE_TRY(SerializeRenderbuffer(context, &json, &scratchBuffer, renderbufferPtr)); in SerializeContextToString()
1448 GroupScope shaderGroup(&json, "ShaderManager"); in SerializeContextToString()
1453 SerializeShader(context, &json, id, shaderPtr); in SerializeContextToString()
1459 GroupScope shaderGroup(&json, "ProgramManager"); in SerializeContextToString()
1464 SerializeProgram(&json, context, id, programPtr); in SerializeContextToString()
1470 GroupScope shaderGroup(&json, "TextureManager"); in SerializeContextToString()
1475 ANGLE_TRY(SerializeTexture(context, &json, &scratchBuffer, texturePtr)); in SerializeContextToString()
1480 GroupScope shaderGroup(&json, "VertexArrayMap"); in SerializeContextToString()
1484 SerializeVertexArray(&json, vertexArrayPtr); in SerializeContextToString()
1487 json.endGroup(); in SerializeContextToString()
1489 *stringOut = json.data(); in SerializeContextToString()