acinclude/ac_check_define.m4
author Sam Lantinga
Sun, 05 Apr 2020 08:58:47 -0700
changeset 13689 c3055b205671
parent 6491 03b7e6b0a8bf
child 14038 2c13b7ca1997
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@6491
     1
AC_DEFUN([AC_CHECK_DEFINE],[dnl
slouken@3342
     2
  AC_CACHE_CHECK(for $1 in $2, ac_cv_define_$1,
slouken@3342
     3
    AC_EGREP_CPP([YES_IS_DEFINED], [
slouken@3342
     4
#include <$2>
slouken@3342
     5
#ifdef $1
slouken@3342
     6
YES_IS_DEFINED
slouken@3342
     7
#endif
slouken@3342
     8
    ], ac_cv_define_$1=yes, ac_cv_define_$1=no)
slouken@3342
     9
  )
slouken@3342
    10
  if test "$ac_cv_define_$1" = "yes" ; then
slouken@3374
    11
    AC_DEFINE([HAVE_$1],[],[Added by AC_CHECK_DEFINE])
slouken@3342
    12
  fi
slouken@3342
    13
])dnl
slouken@3374
    14
AC_DEFINE([HAVE_$1],[],[Added by AC_CHECK_DEFINE])