diff --git a/src/client/graphics/webgl_context.hpp b/src/client/graphics/webgl_context.hpp index 32567de43..a95796004 100644 --- a/src/client/graphics/webgl_context.hpp +++ b/src/client/graphics/webgl_context.hpp @@ -101,6 +101,9 @@ namespace endor kStencilTest = WEBGL_STENCIL_TEST, kUnpackFlipY = WEBGL_UNPACK_FLIP_Y_WEBGL, kUnpackPremultiplyAlpha = WEBGL_UNPACK_PREMULTIPLY_ALPHA_WEBGL, + kSampleAlphaToCoverage = WEBGL_SAMPLE_ALPHA_TO_COVERAGE, + kSampleCoverage = WEBGL_SAMPLE_COVERAGE, + kRasterizerDiscard = WEBGL2_RASTERIZER_DISCARD, }; enum class WebGLFloatParameterName @@ -217,6 +220,35 @@ namespace endor kMaxUniformBlockSize = WEBGL2_MAX_UNIFORM_BLOCK_SIZE, kMaxTextureLodBias = WEBGL2_MAX_TEXTURE_LOD_BIAS, kExtMaxViewsOvr = WEBGL2_EXT_MAX_VIEWS_OVR, + // Pixel store parameters + kPackRowLength = WEBGL2_PACK_ROW_LENGTH, + kPackSkipPixels = WEBGL2_PACK_SKIP_PIXELS, + kPackSkipRows = WEBGL2_PACK_SKIP_ROWS, + kUnpackRowLength = WEBGL2_UNPACK_ROW_LENGTH, + kUnpackImageHeight = WEBGL2_UNPACK_IMAGE_HEIGHT, + kUnpackSkipPixels = WEBGL2_UNPACK_SKIP_PIXELS, + kUnpackSkipRows = WEBGL2_UNPACK_SKIP_ROWS, + kUnpackSkipImages = WEBGL2_UNPACK_SKIP_IMAGES, + // Other state parameters + kFragmentShaderDerivativeHint = WEBGL2_FRAGMENT_SHADER_DERIVATIVE_HINT, + kReadBuffer = WEBGL2_READ_BUFFER, + kDrawBuffer0 = WEBGL2_DRAW_BUFFER0, + kDrawBuffer1 = WEBGL2_DRAW_BUFFER1, + kDrawBuffer2 = WEBGL2_DRAW_BUFFER2, + kDrawBuffer3 = WEBGL2_DRAW_BUFFER3, + kDrawBuffer4 = WEBGL2_DRAW_BUFFER4, + kDrawBuffer5 = WEBGL2_DRAW_BUFFER5, + kDrawBuffer6 = WEBGL2_DRAW_BUFFER6, + kDrawBuffer7 = WEBGL2_DRAW_BUFFER7, + kDrawBuffer8 = WEBGL2_DRAW_BUFFER8, + kDrawBuffer9 = WEBGL2_DRAW_BUFFER9, + kDrawBuffer10 = WEBGL2_DRAW_BUFFER10, + kDrawBuffer11 = WEBGL2_DRAW_BUFFER11, + kDrawBuffer12 = WEBGL2_DRAW_BUFFER12, + kDrawBuffer13 = WEBGL2_DRAW_BUFFER13, + kDrawBuffer14 = WEBGL2_DRAW_BUFFER14, + kDrawBuffer15 = WEBGL2_DRAW_BUFFER15, + kUniformBufferOffsetAlignment = WEBGL2_UNIFORM_BUFFER_OFFSET_ALIGNMENT, }; class ContextAttributes final diff --git a/src/client/script_bindings/webgl/webgl_rendering_context.cpp b/src/client/script_bindings/webgl/webgl_rendering_context.cpp index 7c9351388..bb852fe66 100644 --- a/src/client/script_bindings/webgl/webgl_rendering_context.cpp +++ b/src/client/script_bindings/webgl/webgl_rendering_context.cpp @@ -4353,6 +4353,9 @@ namespace endor case WEBGL_STENCIL_TEST: case WEBGL_UNPACK_FLIP_Y_WEBGL: case WEBGL_UNPACK_PREMULTIPLY_ALPHA_WEBGL: + case WEBGL_SAMPLE_ALPHA_TO_COVERAGE: + case WEBGL_SAMPLE_COVERAGE: + case WEBGL2_RASTERIZER_DISCARD: { jsValue = Boolean::New(isolate, handle()->getParameter(static_cast(pname))); @@ -4423,6 +4426,33 @@ namespace endor case WEBGL2_MAX_UNIFORM_BLOCK_SIZE: case WEBGL2_MAX_TEXTURE_LOD_BIAS: case WEBGL2_EXT_MAX_VIEWS_OVR: + case WEBGL2_PACK_ROW_LENGTH: + case WEBGL2_PACK_SKIP_PIXELS: + case WEBGL2_PACK_SKIP_ROWS: + case WEBGL2_UNPACK_ROW_LENGTH: + case WEBGL2_UNPACK_IMAGE_HEIGHT: + case WEBGL2_UNPACK_SKIP_PIXELS: + case WEBGL2_UNPACK_SKIP_ROWS: + case WEBGL2_UNPACK_SKIP_IMAGES: + case WEBGL2_FRAGMENT_SHADER_DERIVATIVE_HINT: + case WEBGL2_READ_BUFFER: + case WEBGL2_DRAW_BUFFER0: + case WEBGL2_DRAW_BUFFER1: + case WEBGL2_DRAW_BUFFER2: + case WEBGL2_DRAW_BUFFER3: + case WEBGL2_DRAW_BUFFER4: + case WEBGL2_DRAW_BUFFER5: + case WEBGL2_DRAW_BUFFER6: + case WEBGL2_DRAW_BUFFER7: + case WEBGL2_DRAW_BUFFER8: + case WEBGL2_DRAW_BUFFER9: + case WEBGL2_DRAW_BUFFER10: + case WEBGL2_DRAW_BUFFER11: + case WEBGL2_DRAW_BUFFER12: + case WEBGL2_DRAW_BUFFER13: + case WEBGL2_DRAW_BUFFER14: + case WEBGL2_DRAW_BUFFER15: + case WEBGL2_UNIFORM_BUFFER_OFFSET_ALIGNMENT: { auto value = handle() ->getParameterV2(static_cast(pname));