Makefile.in
author Sam Lantinga
Sun, 05 Apr 2020 08:58:47 -0700
changeset 13689 c3055b205671
parent 13657 3c2eaf481522
child 13797 55ec5ae4aa0b
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@1362
     1
# Makefile to build and install the SDL library
slouken@1362
     2
slouken@1362
     3
top_builddir = .
slouken@1362
     4
srcdir  = @srcdir@
slouken@1362
     5
objects = build
jadahl@10303
     6
gen = gen
slouken@1362
     7
prefix = @prefix@
slouken@1362
     8
exec_prefix = @exec_prefix@
slouken@2156
     9
bindir	= @bindir@
slouken@2156
    10
libdir  = @libdir@
slouken@2156
    11
includedir = @includedir@
slouken@2156
    12
datarootdir = @datarootdir@
slouken@2156
    13
datadir	= @datadir@
slouken@1391
    14
auxdir	= @ac_aux_dir@
slouken@1362
    15
distpath = $(srcdir)/..
slouken@6250
    16
distdir = SDL2-@SDL_VERSION@
slouken@1362
    17
distfile = $(distdir).tar.gz
slouken@1362
    18
slouken@1380
    19
@SET_MAKE@
slouken@1362
    20
SHELL	= @SHELL@
slouken@1362
    21
CC      = @CC@
slouken@1362
    22
INCLUDE = @INCLUDE@
slouken@1362
    23
CFLAGS  = @BUILD_CFLAGS@
slouken@1521
    24
EXTRA_CFLAGS = @EXTRA_CFLAGS@
slouken@1393
    25
LDFLAGS = @BUILD_LDFLAGS@
slouken@1521
    26
EXTRA_LDFLAGS = @EXTRA_LDFLAGS@
slouken@1362
    27
LIBTOOL = @LIBTOOL@
slouken@1362
    28
INSTALL = @INSTALL@
slouken@1419
    29
AR	= @AR@
slouken@1419
    30
RANLIB	= @RANLIB@
slouken@13657
    31
RC	= @RC@
slouken@1362
    32
slouken@6250
    33
TARGET  = libSDL2.la
slouken@1362
    34
OBJECTS = @OBJECTS@
jadahl@10303
    35
GEN_HEADERS = @GEN_HEADERS@
jadahl@10303
    36
GEN_OBJECTS = @GEN_OBJECTS@
slouken@3334
    37
VERSION_OBJECTS = @VERSION_OBJECTS@
slouken@1362
    38
slouken@11245
    39
SDLMAIN_TARGET = libSDL2main.la
slouken@1397
    40
SDLMAIN_OBJECTS = @SDLMAIN_OBJECTS@
slouken@1397
    41
slouken@11245
    42
SDLTEST_TARGET = libSDL2_test.la
slouken@6688
    43
SDLTEST_OBJECTS = @SDLTEST_OBJECTS@
slouken@6688
    44
jadahl@10303
    45
WAYLAND_SCANNER = @WAYLAND_SCANNER@
jadahl@10303
    46
hugh@12713
    47
INSTALL_SDL2_CONFIG = @INSTALL_SDL2_CONFIG@
hugh@12713
    48
icculus@13543
    49
SRC_DIST = *.txt acinclude Android.mk autogen.sh android-project build-scripts cmake cmake_uninstall.cmake.in configure configure.ac debian docs include Makefile.* sdl2-config.cmake.in sdl2-config-version.cmake.in sdl2-config.in sdl2.m4 sdl2.pc.in SDL2.spec.in SDL2Config.cmake src test VisualC.html VisualC VisualC-WinRT Xcode Xcode-iOS wayland-protocols
slouken@6250
    50
GEN_DIST = SDL2.spec
slouken@1362
    51
sbc@8876
    52
ifneq ($V,1)
sbc@8876
    53
RUN_CMD_AR     = @echo "  AR    " $@;
sbc@8876
    54
RUN_CMD_CC     = @echo "  CC    " $@;
sbc@8876
    55
RUN_CMD_CXX    = @echo "  CXX   " $@;
sbc@8876
    56
RUN_CMD_LTLINK = @echo "  LTLINK" $@;
sbc@8876
    57
RUN_CMD_RANLIB = @echo "  RANLIB" $@;
slouken@13657
    58
RUN_CMD_RC     = @echo "  RC    " $@;
jadahl@10303
    59
RUN_CMD_GEN    = @echo "  GEN   " $@;
sbc@8876
    60
LIBTOOL += --quiet
sbc@8876
    61
endif
sbc@8876
    62
slouken@4929
    63
HDRS = \
slouken@4929
    64
	SDL.h \
slouken@4929
    65
	SDL_assert.h \
slouken@4929
    66
	SDL_atomic.h \
slouken@4929
    67
	SDL_audio.h \
slouken@8829
    68
	SDL_bits.h \
slouken@4929
    69
	SDL_blendmode.h \
slouken@4929
    70
	SDL_clipboard.h \
slouken@4929
    71
	SDL_cpuinfo.h \
slouken@8829
    72
	SDL_egl.h \
slouken@4929
    73
	SDL_endian.h \
slouken@4929
    74
	SDL_error.h \
slouken@4929
    75
	SDL_events.h \
icculus@7667
    76
	SDL_filesystem.h \
slouken@6690
    77
	SDL_gamecontroller.h \
slouken@4929
    78
	SDL_gesture.h \
slouken@4929
    79
	SDL_haptic.h \
slouken@5189
    80
	SDL_hints.h \
slouken@4929
    81
	SDL_joystick.h \
slouken@4929
    82
	SDL_keyboard.h \
slouken@5340
    83
	SDL_keycode.h \
slouken@4929
    84
	SDL_loadso.h \
slouken@5221
    85
	SDL_log.h \
slouken@4929
    86
	SDL_main.h \
slouken@6607
    87
	SDL_messagebox.h \
slime73@12998
    88
	SDL_metal.h \
slouken@4929
    89
	SDL_mouse.h \
slouken@4929
    90
	SDL_mutex.h \
slouken@4929
    91
	SDL_name.h \
slouken@4929
    92
	SDL_opengl.h \
icculus@8827
    93
	SDL_opengl_glext.h \
slouken@4929
    94
	SDL_opengles.h \
slouken@8829
    95
	SDL_opengles2_gl2ext.h \
slouken@8829
    96
	SDL_opengles2_gl2.h \
slouken@8829
    97
	SDL_opengles2_gl2platform.h \
slouken@6205
    98
	SDL_opengles2.h \
slouken@8829
    99
	SDL_opengles2_khrplatform.h \
slouken@4929
   100
	SDL_pixels.h \
slouken@4929
   101
	SDL_platform.h \
slouken@4929
   102
	SDL_power.h \
slouken@4929
   103
	SDL_quit.h \
slouken@4929
   104
	SDL_rect.h \
slouken@5145
   105
	SDL_render.h \
slouken@4929
   106
	SDL_rwops.h \
slouken@4929
   107
	SDL_scancode.h \
slouken@12130
   108
	SDL_sensor.h \
slouken@4929
   109
	SDL_shape.h \
slouken@4929
   110
	SDL_stdinc.h \
slouken@4929
   111
	SDL_surface.h \
slouken@6345
   112
	SDL_system.h \
slouken@4929
   113
	SDL_syswm.h \
slouken@4929
   114
	SDL_thread.h \
slouken@4929
   115
	SDL_timer.h \
slouken@4929
   116
	SDL_touch.h \
icculus@7387
   117
	SDL_types.h \
slouken@4929
   118
	SDL_version.h \
slouken@4929
   119
	SDL_video.h \
icculus@11365
   120
	SDL_vulkan.h \
slouken@4929
   121
	begin_code.h \
slouken@4929
   122
	close_code.h
slouken@2122
   123
slouken@6689
   124
SDLTEST_HDRS = $(shell ls $(srcdir)/include | fgrep SDL_test)
slouken@6688
   125
slouken@1362
   126
LT_AGE      = @LT_AGE@
slouken@1362
   127
LT_CURRENT  = @LT_CURRENT@
slouken@1362
   128
LT_RELEASE  = @LT_RELEASE@
slouken@1362
   129
LT_REVISION = @LT_REVISION@
slouken@11291
   130
LT_LDFLAGS  = -no-undefined -rpath $(libdir) -release $(LT_RELEASE) -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
slouken@1362
   131
slouken@12469
   132
all: $(srcdir)/configure Makefile $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET) $(objects)/$(SDLTEST_TARGET)
slouken@1622
   133
hugh@12673
   134
$(srcdir)/configure: $(srcdir)/configure.ac
slouken@11206
   135
	@echo "Warning, configure is out of date, please re-run autogen.sh"
slouken@1362
   136
slouken@1362
   137
Makefile: $(srcdir)/Makefile.in
slouken@1362
   138
	$(SHELL) config.status $@
slouken@1362
   139
slouken@3416
   140
Makefile.in:;
slouken@3416
   141
slouken@12469
   142
$(objects)/.created:
slouken@12469
   143
	$(SHELL) $(auxdir)/mkinstalldirs $(objects)
slouken@12469
   144
	touch $@
slouken@1362
   145
slouken@2982
   146
update-revision:
slouken@2982
   147
	$(SHELL) $(auxdir)/updaterev.sh
slouken@2982
   148
slouken@5346
   149
.PHONY: all update-revision install install-bin install-hdrs install-lib install-data uninstall uninstall-bin uninstall-hdrs uninstall-lib uninstall-data clean distclean dist $(OBJECTS:.lo=.d)
slouken@1362
   150
jadahl@10303
   151
$(objects)/$(TARGET): $(GEN_HEADERS) $(GEN_OBJECTS) $(OBJECTS) $(VERSION_OBJECTS)
jadahl@10303
   152
	$(RUN_CMD_LTLINK)$(LIBTOOL) --tag=CC --mode=link $(CC) -o $@ $(OBJECTS) $(GEN_OBJECTS) $(VERSION_OBJECTS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS)
slouken@1362
   153
slouken@1397
   154
$(objects)/$(SDLMAIN_TARGET): $(SDLMAIN_OBJECTS)
slouken@11291
   155
	$(RUN_CMD_LTLINK)$(LIBTOOL) --tag=CC --mode=link $(CC) -static -o $@ $(SDLMAIN_OBJECTS) -rpath $(libdir)
slouken@1397
   156
slouken@6688
   157
$(objects)/$(SDLTEST_TARGET): $(SDLTEST_OBJECTS)
slouken@11291
   158
	$(RUN_CMD_LTLINK)$(LIBTOOL) --tag=CC --mode=link $(CC) -static -o $@ $(SDLTEST_OBJECTS) -rpath $(libdir)
slouken@6688
   159
slouken@3352
   160
install: all install-bin install-hdrs install-lib install-data
slouken@1362
   161
install-bin:
hugh@12713
   162
ifeq ($(INSTALL_SDL2_CONFIG),TRUE)
slouken@2156
   163
	$(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(bindir)
slouken@6250
   164
	$(INSTALL) -m 755 sdl2-config $(DESTDIR)$(bindir)/sdl2-config
hugh@12713
   165
endif
hugh@12713
   166
slouken@5345
   167
install-hdrs: update-revision
slouken@6250
   168
	$(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(includedir)/SDL2
slouken@6688
   169
	for file in $(HDRS) $(SDLTEST_HDRS); do \
slouken@6250
   170
	    $(INSTALL) -m 644 $(srcdir)/include/$$file $(DESTDIR)$(includedir)/SDL2/$$file; \
slouken@1362
   171
	done
slouken@6250
   172
	$(INSTALL) -m 644 include/SDL_config.h $(DESTDIR)$(includedir)/SDL2/SDL_config.h
slouken@5345
   173
	if test -f include/SDL_revision.h; then \
slouken@6250
   174
	    $(INSTALL) -m 644 include/SDL_revision.h $(DESTDIR)$(includedir)/SDL2/SDL_revision.h; \
slouken@5345
   175
	else \
slouken@6250
   176
	    $(INSTALL) -m 644 $(srcdir)/include/SDL_revision.h $(DESTDIR)$(includedir)/SDL2/SDL_revision.h; \
slouken@5345
   177
	fi
slouken@5345
   178
slouken@6688
   179
install-lib: $(objects) $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET) $(objects)/$(SDLTEST_TARGET)
slouken@2156
   180
	$(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(libdir)
slouken@2156
   181
	$(LIBTOOL) --mode=install $(INSTALL) $(objects)/$(TARGET) $(DESTDIR)$(libdir)/$(TARGET)
slouken@11245
   182
	$(LIBTOOL) --mode=install $(INSTALL) $(objects)/$(SDLMAIN_TARGET) $(DESTDIR)$(libdir)/$(SDLMAIN_TARGET)
slouken@11245
   183
	$(LIBTOOL) --mode=install $(INSTALL) $(objects)/$(SDLTEST_TARGET) $(DESTDIR)$(libdir)/$(SDLTEST_TARGET)
slouken@1362
   184
install-data:
slouken@2156
   185
	$(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(datadir)/aclocal
slouken@6250
   186
	$(INSTALL) -m 644 $(srcdir)/sdl2.m4 $(DESTDIR)$(datadir)/aclocal/sdl2.m4
slouken@2156
   187
	$(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(libdir)/pkgconfig
slouken@6250
   188
	$(INSTALL) -m 644 sdl2.pc $(DESTDIR)$(libdir)/pkgconfig
hugh@12713
   189
ifeq ($(INSTALL_SDL2_CONFIG),TRUE)
slouken@9785
   190
	$(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(libdir)/cmake/SDL2
slouken@9785
   191
	$(INSTALL) -m 644 sdl2-config.cmake $(DESTDIR)$(libdir)/cmake/SDL2
icculus@13543
   192
	$(INSTALL) -m 644 sdl2-config-version.cmake $(DESTDIR)$(libdir)/cmake/SDL2
hugh@12713
   193
endif
slouken@1362
   194
slouken@3352
   195
uninstall: uninstall-bin uninstall-hdrs uninstall-lib uninstall-data
slouken@1362
   196
uninstall-bin:
slouken@6250
   197
	rm -f $(DESTDIR)$(bindir)/sdl2-config
slouken@1362
   198
uninstall-hdrs:
slouken@6688
   199
	for file in $(HDRS) $(SDLTEST_HDRS); do \
slouken@6250
   200
	    rm -f $(DESTDIR)$(includedir)/SDL2/$$file; \
slouken@1362
   201
	done
slouken@6250
   202
	rm -f $(DESTDIR)$(includedir)/SDL2/SDL_config.h
slouken@6250
   203
	rm -f $(DESTDIR)$(includedir)/SDL2/SDL_revision.h
slouken@6250
   204
	-rmdir $(DESTDIR)$(includedir)/SDL2
slouken@1362
   205
uninstall-lib:
slouken@2156
   206
	$(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$(TARGET)
slouken@2156
   207
	rm -f $(DESTDIR)$(libdir)/$(SDLMAIN_TARGET)
slouken@6688
   208
	rm -f $(DESTDIR)$(libdir)/$(SDLTEST_TARGET)
slouken@1362
   209
uninstall-data:
slouken@6250
   210
	rm -f $(DESTDIR)$(datadir)/aclocal/sdl2.m4
slouken@6250
   211
	rm -f $(DESTDIR)$(libdir)/pkgconfig/sdl2.pc
slouken@9785
   212
	rm -f $(DESTDIR)$(libdir)/cmake/SDL2/sdl2-config.cmake
icculus@13543
   213
	rm -f $(DESTDIR)$(libdir)/cmake/SDL2/sdl2-config-version.cmake
slouken@1362
   214
slouken@1362
   215
clean:
slouken@1362
   216
	rm -rf $(objects)
jadahl@10303
   217
	rm -rf $(gen)
slouken@1380
   218
	if test -f test/Makefile; then (cd test; $(MAKE) $@); fi
slouken@1362
   219
slouken@1362
   220
distclean: clean
slouken@6250
   221
	rm -f Makefile Makefile.rules sdl2-config
slouken@3334
   222
	rm -f config.status config.cache config.log libtool
slouken@1362
   223
	rm -rf $(srcdir)/autom4te*
slouken@1603
   224
	find $(srcdir) \( \
slouken@1603
   225
	    -name '*~' -o \
slouken@1603
   226
	    -name '*.bak' -o \
slouken@1603
   227
	    -name '*.old' -o \
slouken@1603
   228
	    -name '*.rej' -o \
slouken@1603
   229
	    -name '*.orig' -o \
slouken@1603
   230
	    -name '.#*' \) \
slouken@1362
   231
	    -exec rm -f {} \;
slouken@1380
   232
	if test -f test/Makefile; then (cd test; $(MAKE) $@); fi
slouken@1362
   233
slouken@1362
   234
dist $(distfile):
slouken@1391
   235
	$(SHELL) $(auxdir)/mkinstalldirs $(distdir)
slouken@5498
   236
	(cd $(srcdir); tar cf - $(SRC_DIST)) | (cd $(distdir); tar xf -)
slouken@5498
   237
	tar cf - $(GEN_DIST) | (cd $(distdir); tar xf -)
slouken@1846
   238
	find $(distdir) \( \
slouken@1845
   239
	    -name '*~' -o \
slouken@1845
   240
	    -name '*.bak' -o \
slouken@1845
   241
	    -name '*.old' -o \
slouken@1845
   242
	    -name '*.rej' -o \
slouken@1845
   243
	    -name '*.orig' -o \
slouken@1845
   244
	    -name '.#*' \) \
slouken@1845
   245
	    -exec rm -f {} \;
slouken@1848
   246
	if test -f $(distdir)/test/Makefile; then (cd $(distdir)/test && make distclean); fi
slouken@6886
   247
	(cd $(distdir); build-scripts/updaterev.sh)
slouken@1362
   248
	tar cvf - $(distdir) | gzip --best >$(distfile)
slouken@1362
   249
	rm -rf $(distdir)
slouken@1362
   250
slouken@1362
   251
rpm: $(distfile)
slouken@1362
   252
	rpmbuild -ta $?