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