فهرست منبع

gl_shader_decompiler: Rework GLSL decompiler type system

GLSL decompiler type system was broken. We converted all return values
to float except for some cases where returning we couldn't and
implicitly broke the rule of returning floats (e.g. for bools or bool
pairs).

Instead of doing this introduce class Expression that knows what type a
return value has and when a consumer wants to use the string it asks for
it with a required type, emitting a runtime error if types are
incompatible.

This has the disadvantage that there's more C++ code, but we can emit
better GLSL code that's easier to read.
ReinUsesLisp 7 سال پیش
والد
کامیت
6c449793b8
1فایلهای تغییر یافته به همراه413 افزوده شده و 318 حذف شده
  1. 413 318
      src/video_core/renderer_opengl/gl_shader_decompiler.cpp

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 413 - 318
src/video_core/renderer_opengl/gl_shader_decompiler.cpp


برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است