-
Notifications
You must be signed in to change notification settings - Fork 223
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
improvements to wayland testing #1357
Open
dardok
wants to merge
78
commits into
vsg-dev:VasanthBalguri-wayland-testing
Choose a base branch
from
dardok:master
base: VasanthBalguri-wayland-testing
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
In the PolytopeInterctor constructor with screen coordinates, the eyespace polytope should have been placed in the polytope stack before the worldspace polytope (as per LineSegmentIntersector constructor). The omission meant that intersections were not calculated properly for nodes under transforms.
…abaseSettings::detailTexture support.
Otherwise some compilation units may use the definitions of inline glslang functions from the Vulkan SDK's copy of glslang instead of the glslang we're using, and if the necessary linker warnings aren't enabled and set as errors (they're not), this can cause ABI issues. I noticed this after encountering stack corruption in glslang::GlslangToSpv as the Vulkan SDK version 1.3.296 provides glslang 15.0.0, where glslang::SpvOptions is ten bytes, whereas I was using glslang 14.3.0, where it's only nine bytes, so initialising defaultOptions would spill one byte past the object's end. Fixing the include order ensures all TUs use the right function implementation and the linker won't randomly pick the wrong one.
We unconditionally use binary mode when reading them as we use the header to differentiate between a .vsgt and a .vsgb, and can't read the header without opening the stream first. If the stream mode is mismatched, then this can cause problems. On Unix, there are no symptoms as the only difference is whether a trailing line feed will be inserted if the file is closed and doesn't end with one - some Unices treat all files that don't end in a line feed as binary - and `AsciiOutput::write` adds one after the closing `}` anyway. On Windows, it causes a bigger problem as automatic line ending conversion only happens in text mode - binary streams read and write carriage returns and line feeds as-is, but text streams convert a CRLF sequence to just the line feed when reading and convert a lone line feed to a CRLF sequence when writing. Because of this, when reading a multiline string in a .vsgt file, like a shader listing, on Windows, the CRLF in the file would be read into memory as-is, but if the same object was written back, then the CR would be written, and then the LF would be written as CRLF, leaving CRCRLF in the file. As well as being generally gross, most software for Windows attempts to accommodate files with weird line endings, so will interpret this as a 90s Mac line ending followed by a Windows line ending, and display it as two line breaks. The alternative would be to conditionally enable binary mode after reading the header, but that would mean the stream would need to be closed and reopened, then the header skipped, which would be a nuisance. Developers writing software for Windows are generally ready to deal with explicit carriage returns in strings, so it's fine to load them. Also, this approach is consistent with the text and glsl loaders.
Cherry picked fixes
…h the next developer point release
…neGraph into jamierobertson1-master
… of different LOD levels.
Older files don't have the new field, and loading them will make it yell at you.
…ation Fix ViewMatrix serialisation
Restructued and removed includes.
…g the CoordianteSpace to ShaderSets.
…xture(const std::string& name, const ImageInfoList& imageInfoList, uint32_t dstArrayElement)
Implemented sRGB support in ShaderSets and default format for colour framebuffer
Added extra controls and convinience functions related to ColorSpace work.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
General improvements to the wayland testing branch, including fullscreen support, native connection/surface reuse, device sharing.
Type of change
Please delete options that are not relevant.
How Has This Been Tested?
Checklist: