"Boids simulation" in “WebGL 2.0 Compute shader Demos” at
https://github.com/9ballsyndrome/WebGL_Compute_shader
doesn't work on my Lenovo G505 with AMD A6-5200 APU +
Canary + Win 10 :(
I'll check it later
I’d like to add more examples: 3D excitation waves,
3D Game of Life and 3D Diffusion Limited Aggregation
https://www.ibiblio.org/e-notes/webgl/gpu/contents.htm
2D demos (e.g. simple waves) could be useful too
Evgeny
about 2D demos and math the ShaderToy can be a solution.
I try to recreate the flat wave from
https://www.ibiblio.org/e-notes/webgl/gpu/flat_wave.htm
I don't know what is wrong ?
see: https://www.shadertoy.com/view/wds3W2
--
We already noticed this, and will take a detailed look next week (Sorry that this week we’re fully occupied by the preparation for the upcoming WebGL/WebGPU F2F).
To give an update on current status of WebGL 2.0 Compute. Almost all the features in ANGLE have been implemented, and we get close to 100% pass rate for native dEQP tests. There are still some opens in spec, and we’re going to discuss them with the community. In addition, we will soon expose all the APIs in Chrome in following weeks (the efforts are not big).
Evgeny, the samples for Compute Shader are awesome. Can we get your authorization to use some of them to present our work during the upcoming WebGL F2F? Thanks!
Regards,
-Yang
However, there is a working version of this demo here:Running fine on Chrome 73.0.3669.0 (Official Build) canary (64-bit) with the following command line:"AppData\Local\Google\Chrome SxS\Application\chrome.exe" --enable-webgl2-compute-contextDoes that version work for you too?
Hi Kbr/Evgeny,I notice that you are using ssbo's structure data directly assign to another structure
However, there is a working version of this demo here:Running fine on Chrome 73.0.3669.0 (Official Build) canary (64-bit) with the following command line:"AppData\Local\Google\Chrome SxS\Application\chrome.exe" --enable-webgl2-compute-contextDoes that version work for you too?no black screen and171[.WebGL-000001331D4C6A60] GL_INVALID_VALUE: Stride must be within [0, MAX_VERTEX_ATTRIB_STRIDE).85[.WebGL-000001331D4C6A60] GL_INVALID_OPERATION: An enabled vertex array has no buffer.
I'll try to make 2D waves as soon as possible. Boids later.by the way (not urgent but interesting)is it possible/easy (for Intel people) to add as a Compute shader extension double (F64)1. math (e.g. for deep fractal zoom)2. buffers for particle systems (I can't get thin structure of e.g. Lorenz strange attractor with F32 math/buffers).Evgeny
--
>
> However, there is a working version of this demo here:
>
> https://www.khronos.org/registry/webgl/sdk/demos/intel/ComputeBoids.html
> https://github.com/KhronosGroup/WebGL/blob/master/sdk/demos/intel/ComputeBoids.html
>
> Running fine on Chrome 73.0.3669.0 (Official Build) canary (64-bit) with the following command line:
>
> "AppData\Local\Google\Chrome SxS\Application\chrome.exe" --enable-webgl2-compute-context
>
> Does that version work for you too?
> no black screen and
> 171[.WebGL-000001331D4C6A60] GL_INVALID_VALUE: Stride must be within [0, MAX_VERTEX_ATTRIB_STRIDE).
> 85[.WebGL-000001331D4C6A60] GL_INVALID_OPERATION: An enabled vertex array has no buffer.
Data exported | 2019-01-18T00:14:39.910Z |
Chrome version | Chrome/73.0.3674.0 |
Operating system | Windows NT 10.0.17134 |
Software rendering list URL | https://chromium.googlesource.com/chromium/src/+/69010a60db037ed7b973da72c8e4171434473102/gpu/config/software_rendering_list.json |
Driver bug list URL | https://chromium.googlesource.com/chromium/src/+/69010a60db037ed7b973da72c8e4171434473102/gpu/config/gpu_driver_bug_list.json |
ANGLE commit id | dd34b3b9b707 |
2D graphics backend | Skia/73 a30c755f95a388f7f8fbc93a5f6f62188a55ba93- |
Command Line | "C:\Users\guest\AppData\Local\Google\Chrome SxS\Application\chrome.exe" --enable-webgl2-compute-context --use-angle=gl --use-cmd-decoder=passthrough --flag-switches-begin --use-angle=gl --flag-switches-end |
Initialization time | 1417 |
In-process GPU | false |
Passthrough Command Decoder | true |
Sandboxed | true |
GPU0 | VENDOR = 0x1002 [Google Inc.], DEVICE= 0x9830 [ANGLE (ATI Technologies Inc., AMD Radeon HD 8400, OpenGL 4.5 core)] *ACTIVE* |
Optimus | false |
AMD switchable | false |
Desktop compositing | Aero Glass |
Direct composition | false |
Supports overlays | false |
Overlay capabilities
| |
Diagonal Monitor Size of \\.\DISPLAY1 | 15.5" |
Driver D3D12 feature level | D3D 12.0 |
Driver Vulkan API version | Not supported |
Driver vendor | Advanced Micro Devices, Inc. |
Driver version | 15.200.1055.0 |
Driver date | 7-6-2015 |
GPU CUDA compute capability major version | 0 |
Pixel shader version | 1.00 |
Vertex shader version | 1.00 |
Max. MSAA samples | 8 |
Machine model name |
|
Machine model version |
|
GL_VENDOR | Google Inc. |
GL_RENDERER | ANGLE (ATI Technologies Inc., AMD Radeon HD 8400, OpenGL 4.5 core) |
GL_VERSION | OpenGL ES 2.0 (ANGLE 2.1.0.dd34b3b9b707) |
GL_EXTENSIONS | GL_ANGLE_client_arrays GL_ANGLE_depth_texture GL_ANGLE_explicit_context GL_ANGLE_explicit_context_gles1 GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_instanced_arrays GL_ANGLE_memory_size GL_ANGLE_multi_draw GL_ANGLE_program_cache_control GL_ANGLE_request_extension GL_ANGLE_robust_client_memory GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ANGLE_texture_rectangle GL_ANGLE_translated_shader_source GL_CHROMIUM_bind_generates_resource GL_CHROMIUM_bind_uniform_location GL_CHROMIUM_color_buffer_float_rgb GL_CHROMIUM_color_buffer_float_rgba GL_CHROMIUM_copy_texture GL_CHROMIUM_sync_query GL_EXT_blend_minmax GL_EXT_color_buffer_half_float GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_disjoint_timer_query GL_EXT_draw_buffers GL_EXT_frag_depth GL_EXT_map_buffer_range GL_EXT_multisample_compatibility GL_EXT_occlusion_query_boolean GL_EXT_read_format_bgra GL_EXT_robustness GL_EXT_sRGB GL_EXT_sRGB_write_control GL_EXT_shader_texture_lod GL_EXT_texture_compression_bptc GL_EXT_texture_compression_dxt1 GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_sRGB_decode GL_EXT_texture_storage GL_EXT_unpack_subimage GL_KHR_debug GL_KHR_parallel_shader_compile GL_NV_fence GL_NV_pack_subimage GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth32 GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_get_program_binary GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_surfaceless_context GL_OES_texture_border_clamp GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_vertex_array_object OES_compressed_EAC_R11_signed_texture OES_compressed_EAC_R11_unsigned_texture OES_compressed_EAC_RG11_signed_texture OES_compressed_EAC_RG11_unsigned_texture OES_compressed_ETC2_RGB8_texture OES_compressed_ETC2_RGBA8_texture OES_compressed_ETC2_punchthroughA_RGBA8_texture OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture OES_compressed_ETC2_sRGB8_alpha8_texture OES_compressed_ETC2_sRGB8_texture |
Disabled Extensions | GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent |
Disabled WebGL Extensions |
|
Window system binding vendor |
|
Window system binding version | 1.4 (ANGLE 2.1.0.dd34b3b9b707) |
Window system binding extensions | EGL_EXT_create_context_robustness EGL_ANGLE_d3d_share_handle_client_buffer EGL_ANGLE_d3d_texture_client_buffer EGL_ANGLE_surface_d3d_texture_2d_share_handle EGL_ANGLE_query_surface_pointer EGL_ANGLE_keyed_mutex EGL_KHR_create_context EGL_KHR_get_all_proc_addresses EGL_ANGLE_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource EGL_EXT_pixel_format_float EGL_KHR_surfaceless_context EGL_ANGLE_display_texture_share_group EGL_ANGLE_create_context_client_arrays EGL_ANGLE_program_cache_control EGL_ANGLE_robust_resource_initialization EGL_ANGLE_create_context_extensions_enabled EGL_ANDROID_blob_cache |
Direct rendering | Yes |
Reset notification strategy | 0x8252 |
GPU process crash count | 0 |
Tile Update Mode | One-copy |
Partial Raster | Enabled |
R_8 | Software only |
R_16 | Software only |
RG_88 | Software only |
BGR_565 | Software only |
RGBA_4444 | Software only |
RGBX_8888 | GPU_READ, SCANOUT |
RGBA_8888 | GPU_READ, SCANOUT |
BGRX_8888 | Software only |
BGRX_1010102 | Software only |
RGBX_1010102 | Software only |
BGRA_8888 | Software only |
RGBA_F16 | Software only |
YVU_420 | Software only |
YUV_420_BIPLANAR | Software only |
UYVY_422 | Software only |
Info | Display[2528732444] bounds=[0,0 1093x615], workarea=[0,0 1093x615], scale=1.25, external. |
Color space information | {primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL} |
Bits per color component | 8 |
Bits per pixel | 24 |
Decode h264 baseline | up to 1920x1088 pixels |
Decode h264 main | up to 1920x1088 pixels |
Decode h264 high | up to 1920x1088 pixels |
Encode h264 baseline | up to 3840x2176 pixels and/or 30.000 fps |
Encode h264 main | up to 3840x2176 pixels and/or 30.000 fps |
Encode h264 high | up to 3840x2176 pixels and/or 30.000 fps |
0
|
"Boids simulation" in “WebGL 2.0 Compute shader Demos” at
https://github.com/9ballsyndrome/WebGL_Compute_shader
doesn't work on my Lenovo G505 with AMD A6-5200 APU +
Canary + Win 10 :(
I'll check it later
Evgeny
"Boids simulation" in “WebGL 2.0 Compute shader Demos” at
https://github.com/9ballsyndrome/WebGL_Compute_shader
doesn't work on my Lenovo G505 with AMD A6-5200 APU +
Canary + Win 10 :(
I'll check it later
Evgeny
--
1,2D Bezier, extrusions, lathe...
2D spline patches are used in procedural Lathe flowers 2. Almost all meshes are stored in one big vertex array. It is possible:
just accelerate mesh generation by GPU
generate spline patches on fly
Not sure if control points transformation and spline generation on fly will be faster than one vertex array transformation. But one can effectively generate patches on fly for interactive LOD.
Any suggestions?
Evgeny
I think that texParameter only works for texture image unit which is used for sampling. imageLoad will operate the image unit not texture image unit. According to the spec, ‘If the individual texel identified for an image load or store operation doesn’t exist, the access is treated as invalid. Invalid image loads will return a vector where the value of R, G, and B components is 0 and the value of the A component is undefined. Invalid image stores will have no effect’.
So in fragment shader, I presume that you are using texture sampler not image load. Maybe that’s why you see the difference.
If you want to use gl.TEXTURE_WARP, try to use texture instead of imageLoad.
Regards,
Jiajia
From: webgl-d...@googlegroups.com [mailto:webgl-d...@googlegroups.com] On Behalf Of Evgeny Demidov
Sent: Friday, January 25, 2019 9:02 AM
To: WebGL Dev List <webgl-d...@googlegroups.com>
--
Hi Evgeny,
Sorry that I haven’t added gl.MAX_COMPUTE_WORK_GROUP_INVOCATIONS to implementation IDL. You can check https://cs.chromium.org/chromium/src/third_party/blink/renderer/modules/webgl/webgl2_compute_rendering_context_base.idl?sq=package:chromium&g=0 for supported enums and apis.
The missed compute shader enums will be added soon. Please stay tuned.
Currently, in most drivers, if the result of local_size_x * local_size_y * local_size_z is less than 1024, I think it’s safe to use. But it doesn’t mean that the bigger the number, the better. You need to turn it. Sorry to the inconvenience.
Regards,
Jiajia
From: webgl-d...@googlegroups.com [mailto:webgl-d...@googlegroups.com]
On Behalf Of Evgeny Demidov
Sent: Friday, January 25, 2019 10:50 AM
To: WebGL Dev List <webgl-d...@googlegroups.com>
Subject: [webgl-dev-list] Re: Compute shaders
Thanks to a guy from Intel, I've updated 3D Barkley's model (clamped by hand).
--
--
You should use it like below (const value is not supported):
var colLoc = gl.getUniformLocation(program, ‘col’);
gl.uniform4f(colLoc, 1, 0, 0, 1);
From: webgl-d...@googlegroups.com [mailto:webgl-d...@googlegroups.com]
On Behalf Of Evgeny Demidov
Sent: Tuesday, January 29, 2019 3:38 PM
To: WebGL Dev List <webgl-d...@googlegroups.com>
Subject: [webgl-dev-list] Re: Compute shaders
I'd like to use explicit uniform location (recommended e.g. by ARM)
--
I think your browser uses old cashed version of https://www.ibiblio.org/e-notes/webgl/Controls.js .initEvents() at the bottom.
This simulation may render up to 128x128x128 "point" sprites. I'm trying to make faster simulation at https://www.ibiblio.org/e-notes/webgl/gpu/barkley3D2cs2.htm. How can I expand by html WebGL viewport on canvas (e.g. 3 times) or shall I render into FBO and textured quad?
Evgeny
On Tuesday, January 29, 2019 at 3:43:00 AM UTC+3, Kenneth Russell wrote:Great work Evgeny prototyping these and thanks Jiajia for your help!Evgeny, seeing "Uncaught ReferenceError: initEvents is not defined" while trying your compute shader based 3D Barkley's model.-Ken
https://www.khronos.org/opengl/wiki/Layout_Qualifier_(GLSL)#Explicit_uniform_location"For example, uniform location 2 represents the array `some_thingies[0].an_array`. As such, you can upload an array of vec4s to this array with glUniform4fv(2, 3, ...);.""Calling glGetUniformLocation(prog, "modelToWorldMatrix") is guaranteed to return 2. "location should be int but in WebGL2+ it is WebGLUniformLocation object.I think uniform locations should be similar to attribute locations.
"OpenGL [ES] Optimizations +Shanee Nishry @Lunarsong"Say, thatGLint handleWVP = glGetUniformLocation( shaderProgram, “g_matWorldViewProj” );is slow and non deterministic (p.39).Evgeny
On Tuesday, January 29, 2019 at 11:39:17 AM UTC+3, Qin, Jiajia wrote:You should use it like below (const value is not supported):
var colLoc = gl.getUniformLocation(program, ‘col’);
gl.uniform4f(colLoc, 1, 0, 0, 1);
From: webgl-d...@googlegroups.com [mailto:webgl-d...@googlegroups.com] On Behalf Of Evgeny Demidov
Sent: Tuesday, January 29, 2019 3:38 PM
To: WebGL Dev List <webgl-d...@googlegroups.com>
Subject: [webgl-dev-list] Re: Compute shaders
I'd like to use explicit uniform location (recommended e.g. by ARM)
layout (location = 0) uniform vec4 col;
...
const colLoc = 0
gl.uniform4f(colLoc, 1,0,0,1 );
but get "'WebGL2ComputeRenderingContext': parameter 1 is not of type 'WebGLUniformLocation'." I think it is not implemented yet.
Evgeny
--
Just clarify that gl.uniform4fv is a WebGL 1.0 API not introduced by WebGL 2.0 Compute. Currently, all uniform location in WebGL or later version is a WebGLUniformLocation object. It’s also a difference with native OpenGL ES API.
From: webgl-d...@googlegroups.com [mailto:webgl-d...@googlegroups.com] On Behalf Of Ken Russell
Sent: Wednesday, January 30, 2019 5:24 AM
To: WebGL Dev List <webgl-d...@googlegroups.com>
Subject: Re: [webgl-dev-list] Re: Compute shaders
Sent: Wednesday, January 30, 2019 11:12 AM
To: WebGL Dev List <webgl-d...@googlegroups.com>
Subject: RE: [webgl-dev-list] Re: Compute shaders
Just clarify that gl.uniform4fv is a WebGL 1.0 API not introduced by WebGL 2.0 Compute. Currently, all uniform location in WebGL or later version is a WebGLUniformLocation object. It’s also a difference with native OpenGL ES API.
From: webgl-d...@googlegroups.com [mailto:webgl-d...@googlegroups.com] On Behalf Of Ken Russell
Sent: Wednesday, January 30, 2019 5:24 AM
To: WebGL Dev List <webgl-d...@googlegroups.com>
Subject: Re: [webgl-dev-list] Re: Compute shaders
Another parallel effort from our (Intel) web team is W3C “Machine Learning for the Web” CG, and you may get latest update from regular meetings, Chromium fork and polyfill.
Machine learning is still in high speed evolution, so we hope to provide multiple choices here so that these techs can co-work or compete with each other to make a better solution for web.
Regards,
-Yang
From: webgl-d...@googlegroups.com [mailto:webgl-d...@googlegroups.com]
On Behalf Of Evgeny Demidov
Sent: Wednesday, February 06, 2019 7:07 PM
To: WebGL Dev List <webgl-d...@googlegroups.com>
Subject: [webgl-dev-list] Re: Compute shaders
"5 trending open source machine learning JavaScript frameworks"
--
Regards,
-Yang
From: webgl-d...@googlegroups.com [mailto:webgl-d...@googlegroups.com] On Behalf Of Evgeny Demidov
Sent: Friday, February 08, 2019 1:22 PM
To: WebGL Dev List <webgl-d...@googlegroups.com>
Subject: Re: [webgl-dev-list] Re: Compute shaders
Andrei Kulik - Staff Software Engineer at Google, 10 years; CEO at AIMatter, acquired by Google ("small world" :)
--
Hi Evgeny,
I find that vertex shader source ‘VSs’ in life3Dcs64.htm is different with life3Dcs16.htm and life3Dcs8.htm. If I manually change it like below:
const VSs = `#version 310 es
uniform mat4 mvpMatrix;
uniform lowp isampler3D uTS;
void main(void) {
ivec3 pos = ivec3(gl_InstanceID & 63,
(gl_InstanceID >> 6) & 63, gl_InstanceID >> 12);
if (texelFetch(uTS, pos, 0 ).r == 0) gl_PointSize = 1.0;
else gl_PointSize = 5.;
gl_Position = mvpMatrix * vec4(pos, 1);
}
`;
A result can be got. So could you please check the vertex shader if it’s expected?
Regards,
Jiajia
From: webgl-d...@googlegroups.com [mailto:webgl-d...@googlegroups.com] On Behalf Of Evgeny Demidov
Sent: Sunday, February 3, 2019 9:13 PM
To: WebGL Dev List <webgl-d...@googlegroups.com>
--
Hi Evgeny,
I find that vertex shader source ‘VSs’ in life3Dcs64.htm is different with life3Dcs16.htm and life3Dcs8.htm. If I
Sorry. The machine I tried before never shown the glider. I thought your problem was the grid couldn’t be rendered. I can reproduce your issue now.
We find a problem is your draw() method.
The original code is like below:
‘var t = tex; tex = tex1; tex1 = tex’
We suppose that you want to exchange the value of tex and tex1. So you should change the last assignment to ‘tex1 = t’ not ‘tex1= tex’.
Regards,
Jiajia
From: webgl-d...@googlegroups.com [mailto:webgl-d...@googlegroups.com] On Behalf Of Evgeny Demidov
Sent: Wednesday, February 13, 2019 12:52 AM
To: WebGL Dev List <webgl-d...@googlegroups.com>
Subject: Re: [webgl-dev-list] Re: Compute shaders
On Tuesday, February 12, 2019 at 8:42:28 AM UTC+3, Qin, Jiajia wrote:
--
We find a problem is your draw() method.
The original code is like below:
‘var t = tex; tex = tex1; tex1 = tex’
It’s really a good work to use WebGL 2.0 Compute to optimize matrix multiplication. Looking forward your follow-up work.
FYI gl.MAX_COMPUTE_WORK_GROUP_SIZE and gl.MAX_COMPUTE_WORK_GROUP_INVOCATIONS are already supported in latest chrome canary.
https://chromium-review.googlesource.com/c/chromium/src/+/1445795/
Regards,
Jiajia
From: webgl-d...@googlegroups.com [mailto:webgl-d...@googlegroups.com]
On Behalf Of Evgeny Demidov
Sent: Thursday, February 14, 2019 1:05 AM
To: WebGL Dev List <webgl-d...@googlegroups.com>
Subject: Re: [webgl-dev-list] Re: Compute shaders
On Wednesday, February 13, 2019 at 9:41:50 AM UTC+3, Qin, Jiajia wrote:
--
Shader v.2 "Tiling in the local memory".shared float Asub[TS][TS], groupMemoryBarrier() at last :)I get max WG invocations and size (but don't use yet :)Does WebGL2 compute supported on Android?
Evgeny
On Thursday, February 14, 2019 at 12:12:50 PM UTC+3, Qin, Jiajia wrote:It’s really a good work to use WebGL 2.0 Compute to optimize matrix multiplication. Looking forward your follow-up work.
FYI gl.MAX_COMPUTE_WORK_GROUP_SIZE and gl.MAX_COMPUTE_WORK_GROUP_INVOCATIONS are already supported in latest chrome canary.
https://chromium-review.googlesource.com/c/chromium/src/+/1445795/
Regards,
Jiajia
--
--
MAX_COMPUTE_SHARED_MEMORY_SIZE hasn’t been implemented in d3d backend. I am adding it to ANGLE. The HLSL limits it to 32kb in d3d11. So it’s safe if the shared memory is not larger than 32kb.
You mentioned that shader 2 crashes. What do you mean ‘crash’? Will the gl context be lost or shader compile fail? Is there any error information (I don’t have that device in my hand, so I can’t reproduce it)?
From: webgl-d...@googlegroups.com [mailto:webgl-d...@googlegroups.com] On Behalf Of Evgeny Demidov
Sent: Sunday, February 17, 2019 2:00 AM
To: WebGL Dev List <webgl-d...@googlegroups.com>
--
I was wondering if there is a way for realtime fine-grained tracking of what is happening on compute shader. For example suppose that we have a very long loop in compute shader that updates a buffer rapidly, and in parallel we have our own code running on CPU thread and can read the buffer at some points (while computer shader is executing, not finished). Thanks.
--
I find that your local work group size is still 32x32 not 16x16. But the shared array is 16x16 which will results the shared memory out of bounds.
Maybe you want to have a 16x16 local work group. So you need to have below changes:
1. layout (local_size_x = 32, local_size_y = 32, local_size_z = 1) -> layout (local_size_x = 16, local_size_y = 16, local_size_z = 1)
2. gl.dispatchCompute(M/32, M/32, 1) -> gl.dispatchCompute(M/16, M/16, 1)
Regards,
Jiajia
From: webgl-d...@googlegroups.com [mailto:webgl-d...@googlegroups.com]
On Behalf Of Evgeny Demidov
Sent: Wednesday, March 6, 2019 8:34 PM
To: WebGL Dev List <webgl-d...@googlegroups.com>
Subject: [webgl-dev-list] Re: Compute shaders
erroneous script reads 32x32 float data from 16x16 shared array. Result (in the first string) is slightly different after the page is reloaded (Win10,64, OpenGL, AMD, Nvidia). What does it read? :)
Evgeny
--
You should change the RTS value with your TS value. However, your current RTS value is always 4u which is not TS/WPT. Try to change it like below:
const TS8 =`#version 310 es
#define TS 8u
#define RTS 1u // TS/WPT`
const TS16 =`#version 310 es
#define TS 16u
#define RTS 2u // TS/WPT`
const TS32 =`#version 310 es
#define TS 32u
#define RTS 4u // TS/WPT`
const CSs = `
#define WPT 8u
… …
Above code works well in my machine. We didn’t do the out of bounds checking in webgl2-compute. But I think HLSL compiler supports it. That’s why you see the error on d3d backend but not in gl backend.
Regards,
Jiajia
From: webgl-d...@googlegroups.com [mailto:webgl-d...@googlegroups.com]
On Behalf Of Evgeny Demidov
Sent: Friday, March 22, 2019 2:15 AM
To: WebGL Dev List <webgl-d...@googlegroups.com>
Subject: [webgl-dev-list] Re: Compute shaders
in compute shader athttps://www.ibiblio.org/e-notes/webgl/gpu/mul/sgemm3b.htm
--