Tree:
ebf9a784a9
00336
Compatlist
Kernel
Update-some-barriers-test
astc_optimization1
astc_optimizations
atomicops-mxwell
bcn-ternary-soft
camillelavey-patch-1
civa
cyber/async-gpu-android
descriptor
descriptor_pool_opt
descriptor_set
discfix
dmnt2
dravee/remove-async
dynarmic-ppc64
eden-orbis-ps4
eds-true-adreno-fixes
eds-true-adreno-fixes-pre-0.1.0
eds_changes1
eds_changes_phasewise
feat/22.0.0
feat/android_kotlin_compose
feat/game_override
feat/new_lang
ffmpeg-cross-compile
fix/discord-rpc
fix/socket
flatopsfixes23485
fs-try
gpuopts
interval-zero
kosmic_krisp
kosmickrisp
lanobu
lines
liz-crash-dumps-solaris
liz-dynarmic-macos-fbsd-port
liz-get-rid-of-mcl-intrusive-list
liz-heaptrack-fix
lizize/fixcrashwehenimagesizeexceed
lizzie/adreno5-mali-driver-fix
lizzie/anv-cached-mesa-hack
lizzie/aprilfollsicon
lizzie/astc-mp4-improv
lizzie/attempt2-better-list-dynarmic
lizzie/audio-remove-recursive-lock
lizzie/batched-draws-wip
lizzie/bsdsockets-mod-fix
lizzie/correcter-convert-abgr8-srgb-d24s8
lizzie/draw-state-inline
lizzie/dynarmic-faster-xbyak
lizzie/dynarmic-next-2026-03-26
lizzie/edit-handheld-mode
lizzie/evil-f32-u32-format-fix
lizzie/fix-decoder-gcc
lizzie/fix-dragonslayer-armnce
lizzie/fix-my-fuckup-with-vic
lizzie/fix-nvmap-handles
lizzie/fix-nvmap-handles-but-evil
lizzie/fix-rw-garten
lizzie/fix-vic-msvc-attempt-2
lizzie/fs-msvc-succks
lizzie/gutter-sw-blitter
lizzie/hleinlineremoveredundant
lizzie/inline-123
lizzie/inline-cmif-request
lizzie/inline-dynarmic-spooky
lizzie/invert-gyro
lizzie/ios-port-sud
lizzie/jit-addresschecks
lizzie/lanczos-opt
lizzie/ltofix123
lizzie/macos-fix
lizzie/macos-network-ifaces
lizzie/macos-vk-metal-fix-stype
lizzie/maxwell-dumb-tools
lizzie/mp-docs-1
lizzie/multicore-macos-fix1
lizzie/nce-invalidate-split
lizzie/nce-port1123
lizzie/noexcept-dynarmic
lizzie/nuke-vtable-shit
lizzie/product-model-wawa
lizzie/qt-fix-user-dialogue
lizzie/rasterizer-recursive-mutex-not
lizzie/readonly-listicons
lizzie/remove-disassembler-dynarmic
lizzie/restore-fcsm
lizzie/settings-blocked-domains
lizzie/sgsr
lizzie/sm-AtmosphereHasService
lizzie/splay
lizzie/spscs-mpscs-queue
lizzie/stable-shader-pools
lizzie/stupid-socket-bullshit
lizzie/texture-pass-revert-1
lizzie/try-fix-win11-crash-fuck
lizzie/ulaunch-attempt1
lizzie/unaligned-attempt-2
lizzie/unity-build
lizzie/update-faq-link-wwa
lizzie/vids-ratatata
lizzie/vkexperiments1-highp-fucked
lizzie/wstring-uni-123
lizzie/xbyak-unor-mapfix-with-boost
lizzie/xcode-evil-shit-123
lock-term-1
macroify-surface-stuffs
master
memory_changes
mmap-fixews
msvc
mutliplayer-filter-better1
n64
nce_cpp
pipelinederivative
qcomopts2
querybugfix
refactoreds2
release-early-fences
release/0.0.3
release/0.0.4
release/0.1.0
revert-2695
revert-noinline
revert-xbyak
revertrevert
sgsrtry
shader_recompiler
showcase
showcase2
sjkdbsdfjkbsdf-2834
spvopts
sured-revert
techno48473719
test-revert-gpu-optim
test2
texture_cache
texture_cache_improvements
true-eds
true-eds-graphics
true-eds-pre-0.0.1
uma
vk-fix-oom-force-maller-buffers
vk-symph
vkexperiments1
vkfixes1
vuid00336_1
vuid02999
vuid04553
vulkan-thingy
vulkanasync
woa-turnip-expr
work/httplib-sep-mod
work/riscv-eh-impl
workgroup
xbzk-dma-pusher-step-redesign
xbzk-saf-recursive-write-with-permission-request
xbzk/background-support
xbzk/bindless-textures-support
xbzk/cocoon-intent-game-swap-support
xbzk/dma-step-ondemand-flush
xbzk/flicker-fix
xbzk/input-delay-fix
xbzk/pergame-addons-after-crash-fix
xbzk/press-back-again-issue-fix
xbzk/settings-fragment-rework
xbzk/vsync-immed-fallback-fix
xbzk/vulkan-vuid-goodies-pack
0.0.0
0.0.1-pre-alpha
0.0.2-pre-alpha
test-tag1
test-tag2
v0.0.3
v0.0.3-rc1
v0.0.3-rc2
v0.0.3-rc3
v0.0.3.git
v0.0.4
v0.0.4-rc1
v0.0.4-rc2
v0.0.4-rc2.test
v0.0.4-rc2.test2
v0.0.4-rc3
v0.0.4-rc3.test1
v0.0.4-rc3.test2
v0.0.4.test
v0.1.0
v0.1.0-rc1
v0.1.1
v0.2.0-rc1
v0.2.0-rc2
${ noResults }
2 Commits (ebf9a784a9f7f4148a669dbb39e7cd50df779a14)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
a13ab958cb |
Fixed type conversion ambiguity
|
9 years ago |
|
|
0f35755572 |
pica/command_processor: build geometry pipeline and run geometry shader
The geometry pipeline manages data transfer between VS, GS and primitive assembler. It has known four modes: - no GS mode: sends VS output directly to the primitive assembler (what citra currently does) - GS mode 0: sends VS output to GS input registers, and sends GS output to primitive assembler - GS mode 1: sends VS output to GS uniform registers, and sends GS output to primitive assembler. It also takes an index from the index buffer at the beginning of each primitive for determine the primitive size. - GS mode 2: similar to mode 1, but doesn't take the index and uses a fixed primitive size. hwtest shows that immediate mode also supports GS (at least for mode 0), so the geometry pipeline gets refactored into its own class for supporting both drawing mode. In the immediate mode, some games don't set the pipeline registers to a valid value until the first attribute input, so a geometry pipeline reset flag is set in `pipeline.vs_default_attributes_setup.index` trigger, and the actual pipeline reconfigure is triggered in the first attribute input. In the normal drawing mode with index buffer, the vertex cache is a little bit modified to support the geometry pipeline. Instead of OutputVertex, it now holds AttributeBuffer, which is the input to the geometry pipeline. The AttributeBuffer->OutputVertex conversion is done inside the pipeline vertex handler. The actual hardware vertex cache is believed to be implemented in a similar way (because this is the only way that makes sense). Both geometry pipeline and GS unit rely on states preservation across drawing call, so they are put into the global state. In the future, the other three vertex shader units should be also placed in the global state, and a scheduler should be implemented on top of the four units. Note that the current gs_unit already allows running VS on it in the future. |
9 years ago |