docs/README-emscripten.md
author Sam Lantinga
Sun, 05 Apr 2020 08:58:47 -0700
changeset 13689 c3055b205671
parent 10958 92d837180433
permissions -rw-r--r--
Fixed bug 5015 - SDL_RenderReadPixels on DirectX 11.1 backend seems to be broken

Konrad

It appears that I cannot use SDL_RenderReadPixels on a bound framebuffer (SDL_Texture set as render target) as it simply results in gibberish data. However, drawing that framebuffer into the default target (window surface) does render it correctly. Other backends (OpenGL, software, Direct3D) do work fine.

It looks to me like D3D11_RenderReadPixels just gets the general backbuffer and not the current render target and its backbuffer.

Here is the patch which actually fetches the current render target and its underlying ID3D11Resource which is ID3D11Texture2D.
     1 Emscripten
     2 ================================================================================
     3 
     4 Build:
     5 
     6     $ mkdir build
     7     $ cd build
     8     $ emconfigure ../configure --host=asmjs-unknown-emscripten --disable-assembly --disable-threads --disable-cpuinfo CFLAGS="-O2"
     9     $ emmake make
    10 
    11 Or with cmake:
    12 
    13     $ mkdir build
    14     $ cd build
    15     $ emcmake cmake ..
    16     $ emmake make
    17 
    18 To build one of the tests:
    19 
    20     $ cd test/
    21     $ emcc -O2 --js-opts 0 -g4 testdraw2.c -I../include ../build/.libs/libSDL2.a ../build/libSDL2_test.a -o a.html
    22 
    23 Uses GLES2 renderer or software
    24 
    25 Some other SDL2 libraries can be easily built (assuming SDL2 is installed somewhere):
    26 
    27 SDL_mixer (http://www.libsdl.org/projects/SDL_mixer/):
    28 
    29     $ EMCONFIGURE_JS=1 emconfigure ../configure
    30     build as usual...
    31 
    32 SDL_gfx (http://cms.ferzkopp.net/index.php/software/13-sdl-gfx):
    33 
    34     $ EMCONFIGURE_JS=1 emconfigure ../configure --disable-mmx
    35     build as usual...