Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions src/client/graphics/webgl_context.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
30 changes: 30 additions & 0 deletions src/client/script_bindings/webgl/webgl_rendering_context.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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<client_graphics::WebGLBooleanParameterName>(pname)));
Expand Down Expand Up @@ -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<client_graphics::WebGL2Context>()
->getParameterV2(static_cast<client_graphics::WebGL2IntegerParameterName>(pname));
Expand Down