Flyinghead
e2b3ef147d
custom tex: recreate gl/vk texture when loading custom tex. vk crash
2020-02-19 14:31:35 +01:00
Flyinghead
9f565f2d41
vulkan: corrupted textures with mipmap and xBRZ
2020-02-17 18:26:14 +01:00
Flyinghead
3ddce6dd45
fix crash when enabling xBRZ filtering
2020-02-17 18:26:14 +01:00
Flyinghead
84ba8afe0f
Ignore tex address and stride in texture hash
2020-02-09 23:08:11 +01:00
Flyinghead
3f7ea1fda9
fix crash for 1x1 TW textures
2020-02-07 20:41:59 +01:00
Flyinghead
391cbdc044
restore previous twiddle table for non-square tex
2020-02-07 19:13:23 +01:00
Flyinghead
dd80114bf7
osx build fix
2020-02-07 17:01:42 +01:00
Flyinghead
9826afa063
upload all texture mipmap levels to gpu
...
implemented for gl/gl4/vulkan/oit
don't auto-generate mipmaps in vulkan
simpler/smaller detwiddle table
use std::lock_guard with cMutex
2020-02-07 16:55:32 +01:00
Flyinghead
49c6a55f24
vulkan oit: pass native blend function values to shader, not vulkan ones
...
Fixes missing texture in Plasma Sword start screen
2020-02-06 11:39:05 +01:00
Flyinghead
333b21fac4
Fix .elf support. Init aica irq mask/level during HLE boot
...
BSC PCTRA is 32-bit wide
2020-02-05 18:02:44 +01:00
Flyinghead
b79c074444
axe wchar
2020-01-31 23:51:12 +01:00
Flyinghead
80a0f467d7
fix crash when screen scaling is custom. fix rpi3 build
...
DiscSwap and InitDrive are now the same
2020-01-31 18:33:16 +01:00
Flyinghead
e017fba9c1
vulkan: fix scissoring when SSAA > x1 in widescreen mode
2020-01-30 20:08:30 +01:00
flyinghead
d6fe3526a4
Merge pull request #35 from vkedwardli/enable-upscaling
...
Enable upscaling for up to 8x SSAA
2020-01-30 19:03:15 +01:00
Flyinghead
aaaf093af7
Allow ejecting and changing the disk while in-game
2020-01-30 19:01:47 +01:00
Edward Li
1d72f66de9
Enable upscaling for up to 8x SSAA
2020-01-30 03:31:42 +08:00
scribam
4161ca9b07
msvc build fixes
2020-01-28 19:08:22 +01:00
Flyinghead
ff69efff48
ignore trilinear filtering if texture isn't mipmapped
...
fixes shenmue snowflakes color
2020-01-21 19:52:09 +01:00
Flyinghead
ef3512a2f3
gl4: fix blending issue when autosort=0
...
Fixes Sturmwind menu
2020-01-20 22:37:24 +01:00
Flyinghead
3b83a4e4d5
minor changes
2020-01-16 22:19:07 +01:00
Flyinghead
7f30c7078d
pvr: better saturation of colors when converting tex to higher precision
2020-01-15 10:55:25 +01:00
flyinghead
36a7c00507
win32: fix crash when switching to vulkan
...
fix recursive call to VulkanContext::Init
still crashing when starting with vk and switching to GL
2020-01-08 10:58:24 +01:00
Flyinghead
43d924ceae
vulkan: reset physical device at init
...
don't use PhysicalDeviceProperties2KHR with vulkan 1.0
tentative fix for issue #30
2020-01-06 21:33:31 +01:00
Flyinghead
a6839f57e7
vulkan: only use per-pixel sorting when needed
2020-01-05 23:03:44 +01:00
Flyinghead
f7655091b0
gl4: only use per-pixel sorting when needed
...
if not using autosort, there's no need to use per-pixel sorting
fixes issues with Psyvariar2 and HeadHunter
2020-01-05 20:44:39 +01:00
Flyinghead
d49373b0f9
vulkan: VMU display
...
Reset pipeline when switching per-triangle/per-strip
Adreno workaround test typo
clean up
2019-12-25 13:09:54 +01:00
Flyinghead
be50fca2d6
gl: (oit) Far plane is 0 in final depth test. minor gl cache reset fix
...
other misc changes
2019-12-25 13:05:42 +01:00
flyinghead
3415ce5577
win32: detect platform. SDL support
2019-12-22 23:49:52 +01:00
flyinghead
424a02cdf3
vulkan: workaround for intel driver bug when depth write is disabled
...
backport adreno driver translucent modvol workaround
2019-12-22 17:48:24 +01:00
Flyinghead
29fd406dd8
vulkan: crash on windows when switching from gl to vulkan
...
Destroy and recreate window when switching from gl to vulkan
VkGetPhysicalDeviceProperties2 crash with old nvidia driver (376)
2019-12-14 17:53:01 +01:00
Flyinghead
c683e0ded8
vulkan: push constants when starting render pass to avoid crash (mali)
2019-12-11 22:31:35 +01:00
Flyinghead
78987074a6
renderer: add 32bpp conversion routines for bump map textures
2019-12-10 16:15:14 +01:00
Flyinghead
5ac104fb0e
Disable startx/starty crt shifts for now. vk: fix OIT buffer size issue
2019-12-10 15:19:41 +01:00
Flyinghead
066093553f
vulkan: copy provoking vertex. crash when rtt2vram. rtt vram stride
...
setImageLayout was missing TransferSrcOptimal as source layout
Vulkan needs the first vertex to be the provoking vertex so copy 3rd on
1st when flat shading.
VRAM stride was incorrect (RTT to VRAM)
2019-12-10 12:51:10 +01:00
Flyinghead
637ad3b214
vulkan: delay destroying in-flight images. Fix inside clipping.
...
Keep in-use imave and image views when the texture is updated.
Fix inside clipping (18 wheeler rear mirror)
Wait until the graphics queue is idle before changing shared buffers and
attachments.
Refactoring
2019-12-09 19:37:14 +01:00
Flyinghead
3b86c57d0e
texture corruptions with some wince games
...
vram wasn't protected in some cases
Worms World Party, Tomb Raider - Final Revelation, Hundred Swords
2019-12-09 13:17:58 +01:00
Flyinghead
a1981c48b6
vulkan: transition oit depth attachment after init. Avoid empty buffer
2019-12-08 22:39:30 +01:00
Flyinghead
369624b28f
vulkan: check if api 1.1 is available. fix screenshot R&B swap
2019-12-08 22:22:40 +01:00
Flyinghead
a331c7bd84
vulkan: missing BeginFrame call
2019-12-07 22:13:22 +01:00
Flyinghead
9acbfae25d
vulkan: don't allocate more than allowed
2019-12-07 22:12:14 +01:00
Flyinghead
e14115683e
vulkan: don't use anisotropic filtering with nearest. Set max to 4
...
fixes issues with adreno
2019-12-06 17:16:59 +01:00
Flyinghead
4730da31d5
vulkan: fix modvols. fix depth-write disabled poly. optimizations
...
stencil must be reset to zero if poly isn't shadowed -> fixes jet set
radio "see-through" shadows
take culling into account for modvols
oit: reduce per-pixel and per-poly mem usage
oit: framebuffers weren't resized when needed
oit: poly with depth write disabled weren't drawn (Soul calibur missing
water surface)
Fix glsl error when two-volume mode needs fog attachment
2019-12-05 18:48:54 +01:00
Flyinghead
21b2eb3e5d
vulkan: fix clipping (alpilot black screen)
2019-12-04 19:06:14 +01:00
Flyinghead
cd49b32473
vulkan: allocate oit buffers in device-local mem. NVidia fixes
...
BufferData was always allocated in host visible mem, regardless of the
mem property argument.
NVidia gpus don't support blitting to 565 and 5551, which is needed for
mipmaps, so convert to 8888 instead.
Use optimal tiling for oit pointers image (linear not supported by
nvidia and probably slower anyway)
oit screen drawer uses multiple final attachments
Set non-oit depth attachment as transient and lazily allocate mem
2019-12-04 15:51:26 +01:00
Flyinghead
8f80b427df
vulkan: move oit renderer to own directory
2019-12-04 09:41:27 +01:00
Flyinghead
5f265d03fe
vulkan: use a chain of final color attachments
...
glcache: clear tex param cache
2019-12-03 21:29:37 +01:00
Flyinghead
6865d74a85
vulkan: use last rendered frame as background for ui
2019-11-30 12:14:36 +01:00
Flyinghead
cf7aa4f310
vulkan: disable debug
2019-11-29 19:54:43 +01:00
Flyinghead
0280fcc9d4
vulkan: render to temp fbo then to screen
...
renderers render to image which is blitted to the screen by the context
batch texture updates command buffers and submit once
fix screen scaling
2019-11-29 19:28:22 +01:00
Flyinghead
dae0908735
vulkan oit: fix imgui overlay
...
re-init imgui with the oit render pass when running game. use regular
render pass otherwise.
2019-11-26 18:28:48 +01:00
Flyinghead
ed538f7dce
vulkan: osx and arm32 build fix
2019-11-26 12:12:43 +01:00
Flyinghead
554d8005fa
gl: #version must be on first line or Mali compiler complains
2019-11-26 11:08:35 +01:00
Flyinghead
a944cd08c6
vulkan: use amd mem allocator
2019-11-26 10:42:44 +01:00
Flyinghead
2c26d379df
renderer: fix scissoring with hscale, pixel_double, vscale...
...
Fixes Wacky Races, ECW Hardcore and Cho - Hatsumei Boy Kanipan cropped
screen
2019-11-18 15:57:18 +01:00
Flyinghead
a4053715af
vulkan: skip TR & final pass on first frame before clearing buffers
2019-11-15 11:24:00 +01:00
Flyinghead
01af8e5f5e
vulkan: fix texture LoD, enable anisotropic filtering
...
fixes textures being grainy when seen from a distance
2019-11-15 11:17:01 +01:00
Flyinghead
78eb1829d8
gles2: calculate fog depth in vertex shader in case highp not supported
...
Mali-400/450 don't support highp floats in the fragment shader. This
causes overflows when computing fog density in some game scenes. To work
around that, calculate fog density in vertex shader and use
interpolation.
vulkan,gl: Get rid of extra_depth_scale in fragment shader by
integrating it in fog density
2019-11-14 22:10:40 +01:00
Flyinghead
09f5d25133
vulkan: automation screenshot. less code duplication
...
fix assert on exit due to not released vmem
fix crash when resizing window
2019-11-13 20:08:14 +01:00
Flyinghead
9928af2506
vulkan: terminate shader compiler only once if inited
...
fixes assert/crash when switching rendering api
2019-11-13 12:56:40 +01:00
Flyinghead
72c2ee1008
vulkan oit: RTT support
...
Fix Tr modifier volumes mem barrier
Simplify desc sets
2019-11-12 19:39:58 +01:00
Flyinghead
7b8840a330
Merge remote-tracking branch 'origin/master' into fh/vulkan
2019-11-10 21:01:29 +01:00
Flyinghead
25fb888d26
vulkan oit: get rid of depth2 attachment
2019-11-10 17:59:21 +01:00
Flyinghead
c10f075266
vulkan: OIT renderer WIP
2019-11-10 11:27:19 +01:00
Flyinghead
b8c1d6657d
vulkan: quad buffer, extract shader compiler
...
fetch color format, storage buffer alignment and stores/atomics support
at init
support for framebuffers used as input attachments
use Allocator instead of VulkanAllocator
return handles instead of unique handles
2019-11-10 10:16:18 +01:00
Flyinghead
5d6ac0acbb
gl: const everything
2019-10-25 22:47:20 +02:00
Flyinghead
ba51c873d0
vulkan: fix missing geometry in multipass
2019-10-25 22:30:34 +02:00
Vai Kong Edward Li
5772e2a679
Custom Textures / Dump Textures supports NAOMI also
2019-10-26 03:56:59 +08:00
Flyinghead
920e2bf039
vulkan: return Device instead of UniqueDevice from context
2019-10-25 19:20:15 +02:00
Flyinghead
5e4dacfa67
Fix renderer selection issue in gui. Use raw strings for shader source
2019-10-23 19:23:19 +02:00
Flyinghead
07958f08ae
refactor xform matrix out of gles. use xform matrix in vulkan
2019-10-23 18:13:28 +02:00
Flyinghead
2f363a7355
Merge remote-tracking branch 'origin/fh/gl-scale-mat' into fh/vulkan
...
# Conflicts:
# core/rend/TexCache.h
# core/rend/gl4/gles.cpp
# core/rend/gles/gles.cpp
# core/rend/gles/gles.h
# shell/apple/emulator-osx/reicast-osx.xcodeproj/project.pbxproj
2019-10-21 19:49:53 +02:00
Flyinghead
86818389ac
move texture cache to a template class. vulkan: OSD on android
...
store texture in the cache map instead of the heap
make related functions member of the class (CollectCleanup, killtex ->
Clear)
refactor common OSD stuff into rend/osd
vulkan support for OSD
2019-10-21 16:39:16 +02:00
Flyinghead
2a89874812
decouple imgui from gles renderer
2019-10-19 18:34:24 +02:00
Flyinghead
6611e9bf5e
gl: refactor wsi into their own class.Allow dynamic vk<->gl switch
2019-10-18 21:57:08 +02:00
flyinghead
dffaed7dd9
vulkan: prefer optimal depth format. use same format for rtt
...
Try to find an optimal depth format then fall back to linear
Use same depth format for rtt depth attachments
Allow RenderToTextureBuffer setting to be changed at runtime
Enable vulkan on windows
2019-10-16 10:40:06 +02:00
flyinghead
c3cbfbdfb0
vulkan: android build fix
2019-10-15 21:50:42 +02:00
flyinghead
a6c56ba748
vulkan: windows support
2019-10-15 21:25:24 +02:00
Flyinghead
43d87877be
vulkan: some ui
2019-10-15 16:52:02 +02:00
Flyinghead
d28a7f45c5
vulkan: android support
...
align uniform buffers according to physical device requirements
destroy old swap chain before creating new one
some drivers don't support some 16-bit texture formats for optimal
tiling
2019-10-15 16:49:20 +02:00
Flyinghead
e3a997b642
vulkan: direct framebuffer writes support
...
alternate between 2 texture drawers
Fix scissor scale when pixel_double is on
Ingore Present() when nothing has been rendered
2019-10-14 17:41:49 +02:00
Flyinghead
fb52b38ac3
texture upscaling was missing some paletted alpha channel formats
...
Fixes dark pixels on edges when using xbrz upscaling (Capcom vs SNK 2)
2019-10-14 15:15:20 +02:00
Flyinghead
f8d4b08618
vulkan: increase some descriptor pool sizes. Use 3 swap chain images
2019-10-13 22:40:11 +02:00
Flyinghead
4c29a9bad7
vulkan: better tile clipping
2019-10-13 22:01:20 +02:00
Flyinghead
af0b0eac42
vulkan: mipmap support
2019-10-13 18:42:28 +02:00
Flyinghead
06e1456d4f
vulkan: memory allocator
2019-10-12 13:48:41 +02:00
Flyinghead
459a2b973e
vulkan: make staging buffer visible to host for rtt2vram. Minor changes
2019-10-12 13:48:41 +02:00
Flyinghead
2bac2afe98
gles: fix depth issue when drawing quads on gles2
...
Fix Gunlord black screen on GLES 2
2019-10-12 13:48:41 +02:00
Flyinghead
e9ecda2b31
vulkan: fix regression on color blending state
2019-10-09 22:59:01 +02:00
Flyinghead
970d959772
gles: build fix
2019-10-09 22:49:29 +02:00
Flyinghead
becdd213fe
android: build vulkan renderer
2019-10-09 22:44:06 +02:00
Flyinghead
6406523720
vulkan: RTT support
2019-10-09 21:18:06 +02:00
Flyinghead
38f50c1b5a
gles: refactor rtt vram writeback out of gles
2019-10-09 21:14:31 +02:00
Flyinghead
e09e895f22
vulkan: better image update. Don't kill in-flight command buffers
...
Transition images back to transfer and update them instead of
deleting/recreating.
Keep track of in-flight texture command buffers and free them when idle.
2019-10-07 17:45:11 +02:00
Flyinghead
b790a336e9
vulkan: modifier volumes
2019-10-07 12:30:56 +02:00
Flyinghead
8d520fa5e4
vulkan: per-triangle sorting
2019-10-06 21:21:31 +02:00
Flyinghead
b82a97853f
vulkan: fog support
2019-10-06 17:02:17 +02:00
Flyinghead
8f8f270cfc
vulkan: use separate command buffer to upload tex. Limit desc set size.
2019-10-06 14:31:39 +02:00
Flyinghead
751f30003d
rend: fix stride regression introduced in 24b973f7
...
Fix YUV textures corruption
2019-10-06 14:16:12 +02:00
Flyinghead
ebec2966d7
vulkan: create SamplerManager. Use staging buffer for textures
...
Samplers shouldn't be tied to a texture
Using a staging buffer fixes most texture glitches
2019-10-06 12:24:07 +02:00
scribam
1e54de93fa
gui: Replace "std:string" by "std::string"
2019-10-06 10:58:44 +02:00