-
-
Notifications
You must be signed in to change notification settings - Fork 439
[3.0] Implement name-related improvements identified in previous Vulkan PR #2503
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
Open
Exanite
wants to merge
189
commits into
dotnet:develop/3.0
Choose a base branch
from
Exanite:feature/vulkan-bindings-3.0-improvements
base: develop/3.0
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.
+2,413
−1,329
Open
Changes from 160 commits
Commits
Show all changes
189 commits
Select commit
Hold shift + click to select a range
90f7348
Initial empty commit
Exanite a6c9af7
Edit docs
Exanite aac17e3
Add NativeName attribute
Exanite 69291ed
Add start of MarkNativeNames mod
Exanite 9eac50d
Successfully mark structs with NativeName attribute
Exanite 76046df
Mark most identifiers with the NativeName attribute
Exanite 7231782
Cleanup
Exanite bd0b4a4
Add StripAttributes mod for removing unwanted attributes
Exanite b23b859
Fix MarkNativeNames mod config not being loaded
Exanite 869ea13
Add StripAttributes to Vulkan generator config and regenerate bindings
Exanite 6c86b0b
Cleanup
Exanite 91a92b5
Remove unused code in PrettifyNames, pretty sure this is from the old…
Exanite 456f3b6
Remove unused code from PrettifyNames
Exanite 94336cb
Add ModUtils.TryGetNativeName and WithNativeName to make it easier to…
Exanite 4042cdf
Fix incorrect attribute filtering ()
Exanite 10328a0
Cleanup
Exanite c620aaa
Move attribute related code from ModUtils into a new AttributeUtils c…
Exanite fd45a6f
Allow NativeName to be placed on methods
Exanite 2b86025
Prevent enums with negative values from being coerced
Exanite f286f65
Add constructor to generated handle structs
Exanite 553d33f
Cleanup using statements after splitting ModUtils into two classes
Exanite 43a2336
Backport PrettifyNames changes from Curin's Microsoft branch
Exanite e3b0568
Add GlobalPrefixHints for SDL bindings and regenerate on Linux
Exanite 5537269
Regenerate all bindings on Linux
Exanite 81aa49d
Add CandidateNames record structs and replace the tuples used by the …
Exanite 89ca280
Add documentation for CandidateNames structs
Exanite 00243f1
Replace usages of Enumerable.Empty with []
Exanite 6c8e684
Add record structs for most tuples used internally within PrettifyNames
Exanite 0cf540f
Add AttributeUtils.ContainsAttribute
Exanite 9fa07ca
Update code to use ContainsAttribute
Exanite b4cdd0e
Fix compile errors
Exanite aaf0356
Add NamePrefix/Suffix attributes
Exanite 19a0d48
Fix typo
Exanite a04d801
Add helper methods for adding name prefix/suffix attributes
Exanite e5f526a
Always require name prefix/suffix priority and simplify code
Exanite 5fdd1e8
Add NameSuffix and NativeName attributes to handle types
Exanite 381618e
Add PFN_vk as global prefix hint to strip the PFNVk prefix off of the…
Exanite 1136b98
Remove "TODO actually eval the expression to see if necessary?" since…
Exanite decdac6
Move MarkNativeNames to be right after ClangScraper
Exanite c8c1421
Add native name annotations to MixKhronosData
Exanite 1aa0386
Use FlagBits version of enum names for the NativeName attribute as it…
Exanite e96b14e
Move ExtractNestedTyping to be before MixKhronosData and AddApiProfil…
Exanite cbbf3f3
Remove configuration for MarkNativeNames
Exanite 2e8a6c6
Fix compile errors in SilkTouch tests
Exanite 2151ddb
Allow SupportedApiProfileAttribute to be placed on delegates
Exanite cdee2ad
Edit MarkNativeNames docs
Exanite 24f1fdc
Also change AddNamePrefix/Suffix priority parameter to be required
Exanite 3bfdea1
Annotate all suffixes for handles and disable handle renaming in Tran…
Exanite 426d950
Regenerate bindings on Linux (not final)
Exanite 5bfe7ce
Edit comment for clarity
Exanite 7287cfd
Rename "types" variable to newNames and add comment explaining purpose
Exanite eb443dc
Rename translator to nameTransformer for clarity
Exanite f27ad2d
Format comment for better readability
Exanite c69a7d4
Format else statement braces
Exanite 1a7a5ba
Add comment marking where the rename process begins
Exanite 8362630
Add RenamedType record struct
Exanite 984795d
Move BeforeScrapeAsync method up higher in the class
Exanite 53bd813
Rename ClassInProgress to TypeInProgress to prepare for future change…
Exanite 6ff0f89
Format for readability
Exanite 8f46b93
Add IsCurrentlyInType() private utility method and add docs
Exanite c4fd62f
Cleanup: Format and rename PrettifyNames.Visitor code and variables
Exanite 94da46c
Add docs to PrettifyNames.Visitor private fields
Exanite d6f7d02
Fix typo(?) in NameTrimmerContext.NonDeterminant doc comment
Exanite 2742dc1
Add doc comments to public members of PrettifyNames.Visitor
Exanite 37dc8ce
Reorder PrettifyNames methods so that struct/class/enum declaration v…
Exanite 5392f15
Rename "inner" variable to "typeData" and fix a typo I added
Exanite 7114754
More PrettifyNames.Visitor cleanup
Exanite fac864f
Prettify struct property names (bitfields structs contain properties)
Exanite 18dc9cc
Only prettify settable properties
Exanite 2db865c
Edit MarkNativeNames mod doc comment
Exanite 3ff5ce4
Add storage types for affix data
Exanite eb2c851
Change TypeData lists to not be nullable since it doesn't really affe…
Exanite 77cfe81
Reorder PrettifyNames.Visitor methods again
Exanite f835bb7
Cleanup and slightly optimize identifier usages
Exanite f104c7c
Organize PrettifyNames.Visitor code for consistency
Exanite 17fa8a1
Change other data types used by PrettifyNames to be non-nullable wher…
Exanite 4f610c0
Remove my unused code in MixKhronosData
Exanite 1336511
Only process field declaration variables instead of all variables
Exanite 8880443
Combine TypeData and TypeAffixData
Exanite c6265e8
Remove IsEnum property since it never is used
Exanite e8cc72d
Remove unnecessary condition
Exanite 54265bc
Add TypeAffixData back since it needs to be stored separately to avoi…
Exanite 029f88b
Populate type name affix information
Exanite 3910a4b
Switch to arrays and use sparser data storage
Exanite 67badc8
Populate affix data for type members
Exanite 5ddddbe
Replace NamePrefix/Suffix with NameAffix
Exanite e80214e
Fix enum name affix data not getting populated
Exanite bdb90b5
Mark NameAffixAttribute as [Conditional]
Exanite 433f9ad
Trim _T from end of handle native names
Exanite bec2d1b
Update Vulkan generator config
Exanite fa97004
Implement proof of concept name affix handling
Exanite 1b3b89a
Allow multiple NameAffix attributes to be used on one identifier
Exanite b8f385d
Cleanup
Exanite 3052bdc
Don't process secondaries when adding to outputing to newNames dictio…
Exanite a670548
Fix incorrect rename
Exanite 4d05314
Remove acronym identification in order to make all names be strictly …
Exanite d343503
Regenerate all bindings on Linux after changing acronyms to be pascal…
Exanite a9029f7
Update acronyms in names to be pascal cased and fix compile errors
Exanite 60909ef
Remove NameUtils.Prettify allowAllCaps parameter
Exanite 62351e8
Remove transformer from NameUtils.Prettify API and prevent unnecessar…
Exanite f0f8efa
Properly prettify the prettify only names if no trimmer baseline is s…
Exanite fb41785
Cleanup code
Exanite 285540f
Refactor name affix API
Exanite 3ec520b
Implement name affix handling
Exanite 286d85b
Add prefix override for VkMemoryDecompressionMethodFlagsEXT
Exanite a5ea18a
Improve NameUtils.Prettify error messages
Exanite fc068a6
Add VendorSuffixIdentifierExclusions to MixKhronosData config
Exanite 07af5dc
Regenerate SDL and OpenAL bindings. OpenGL needs more work. SDL has n…
Exanite a659a82
Remove now unnecessary _T trimming code
Exanite ab1aa5d
Remove unused code
Exanite 13ffcfe
Remove ExtensionVendorTrimmingMode
Exanite 8838125
Add todos
Exanite 27a7750
Add NameAffixerLateTrimmer back and use prettify prevention hack to g…
Exanite 990f560
Merge branch 'feature/vulkan-bindings-3.0-name-affixer' into feature/…
Exanite 25484bf
Fix a few compile errors
Exanite 572d225
Handle method vendor suffixes and remove vendor suffix capitalization…
Exanite a853fd6
Add NativeName attribute for function pointer structs and delegates
Exanite 8e12ba7
Ensure delegate vendor extensions are identified properly
Exanite af59554
Cleanup
Exanite d91bcd7
Update generator configs for other jobs and also strip NameAffix attr…
Exanite 7415297
Add TransformEnums mod to all jobs
Exanite 322cc7b
Ignore cast expressions when deciding whether to rewrite enum members…
Exanite c3540a8
Regenerate SDL (inconsistent generation?)
Exanite 8eded53
Fix non strict pascal casing in generator config
Exanite cfc8ac9
Prevent struct method names from getting trimmed
Exanite 880957b
Rename VendorSuffixIdentifierExclusions to VendorSuffixIdentification…
Exanite a720617
Fix compile error
Exanite ed90465
Update comments
Exanite 2f09e5b
Add AttributeUtils.GetNativeNameOrDefault()
Exanite c0e6bcb
Attempt to reimplement exclusive vendor suffix trimming code. Results…
Exanite 1e067ac
Remove the now unnecessary rewind code
Exanite d9d62be
Temporarily remove data type trimming code
Exanite eb0f8e9
Fix ALC_INVALID_CONTEXT being prettified as InvalidContEXT
Exanite 51023e2
Organize configuration for MixKhronosData and pre-emptively add new o…
Exanite 2004a92
Add configuration options for TrimEnumTypeNonExclusiveVendors and Tri…
Exanite 9c263b4
Replace TrimEnumMemberExclusiveVendors with TrimEnumMemberImpliedVend…
Exanite e30d2ec
Decide not to special case OpenGL's SamplePatternSGIS
Exanite 124cd1b
Optimize/cleanup trimming code
Exanite a34ce36
Attempt to implement data type trimming, but not working yet due to f…
Exanite a3437cc
Merge branch 'feature/vulkan-bindings-3.0-improvements-enum-vendor-tr…
Exanite b112a60
Edit doc comment for NameAffix
Exanite f0c674e
Add discriminator priority to NameAffix attribute
Exanite 8cbed7e
Add ToString implementations for CandidateNames structs for easier de…
Exanite 596a6aa
Add comment explaining PreventPrettificationHack
Exanite 1712060
Avoid adding redundant secondaries
Exanite 90bb541
Merge branch 'feature/vulkan-bindings-3.0-improvements' into feature/…
Exanite 39b782c
Regen OpenAL on Linux
Exanite fb55107
Change secondaries to be non-nullable since I allocate all of them an…
Exanite e3236b0
Regen OpenGL on Linux
Exanite 82d3b7f
Disable stripping for NameAffix attributes in OpenAL for easier debug…
Exanite 76fb8cf
Rework the NameAffix properties and what they do again
Exanite 67c7867
Update config options and adjust docs a bit more
Exanite 32d4e64
Edit docs
Exanite eaa93cb
Store the NameAffixAttribute declaration order
Exanite b7428f5
Update order and priority of data type suffixes
Exanite 2ea6a43
Attempt to get data trimming working and apparently fix a few bugs in…
Exanite 24ce296
Fix AL_VOCAL_MORPHER_PHONEME_T's -T suffix getting trimmed
Exanite b0bff43
Edit doc comment on NameAffixerEarlyTrimmer.Version
Exanite 1023090
Regenerate all bindings on Linux
Exanite 3f575ff
Strip all NameAffix attributes for OpenAL since I'm no longer debugging
Exanite 9a90036
Sort and ensure consistent attribute targets for NativeName and NameA…
Exanite 8dcd207
Fix formatting
Exanite 22a2c95
Don't mark parameters with the NativeName attribute
Exanite 1536c15
Add INameTrimmer.Order property and sort trimmers by that instead of …
Exanite 97586d6
Fix OpenAL's alSourceRewindv getting trimmed as alSourceRewin
Exanite f414752
Fix incorrect range indexing
Exanite 58524e3
Change prettification to occur before affixes are re-added
Exanite 5cc9c6e
Rename NameAffix.Priority to DiscriminatorPriority for clarity
Exanite f75dd7f
Cleanup RewriterPhase3 code in MixKhronosData
Exanite 8fe7404
Fix incorrect hasSetter condition causing properties to be incorrectl…
Exanite fbcb049
Fix TexStorageAttribs and ContainerType getting over trimmed
Exanite 682a261
Fix enums created by MixKhronosData not having their enum values rewr…
Exanite 7b45449
Regenerate bindings on Windows
Exanite 558a8b1
Fix compile errors in tests
Exanite e9c9f39
Exclude SDL_SetWindowsMessageHook
Exanite cd5b2c9
Exclude SDL_FILE, SDL_LINE, SDL_NULL_WHILE_LOOP_CONDITION
Exanite c7300c3
Fix compile errors and update windowing code to use strict pascal cas…
Exanite 9c9fbfc
Revert after review: Revert all generated bindings changes
Exanite 5cd9029
Revert incorrect OpenGL capitalization changes in SdlContext
Exanite fac347c
Revert incorrect OpenGL capitalization changes in SdlSurfaceComponent…
Exanite a1c0f23
Revert "Revert after review: Revert all generated bindings changes"
Exanite 48d182f
Begin reverting acronym casing change
Exanite 16f5753
Update openal-soft submodule
Exanite 53fbdd3
Revert change to EGLPlatformInfo
Exanite 8aefc51
Regenerate bindings on Windows
Exanite 9bbf8be
Revert after review: Revert all generated bindings changes
Exanite 4634117
Revert changes to ContextSourceExtensions
Exanite 787081a
Revert changes to SdlEventProcessor
Exanite 2fa139f
Revert changes to SdlSurfaceComponents
Exanite File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
The diff you're trying to view is too large. We only load the first 3000 changed files.
There are no files selected for viewing
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains hidden or 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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -5,7 +5,7 @@ _GUID | |
| --file | ||
| openal-soft-al.h | ||
| --methodClassName | ||
| AL | ||
| Al | ||
| --namespace | ||
| Silk.NET.OpenAL | ||
| --output | ||
|
|
||
This file contains hidden or 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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -6,7 +6,7 @@ WIN32_LEAN_AND_MEAN | |
| --file | ||
| opengl-gl.h | ||
| --methodClassName | ||
| GL | ||
| Gl | ||
| --namespace | ||
| Silk.NET.OpenGL | ||
| --output | ||
|
|
||
This file contains hidden or 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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -6,7 +6,7 @@ WIN32_LEAN_AND_MEAN | |
| --file | ||
| opengl-gl.h | ||
| --methodClassName | ||
| GL | ||
| Gl | ||
| --namespace | ||
| Silk.NET.OpenGL | ||
| --output | ||
|
|
||
This file contains hidden or 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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -6,7 +6,7 @@ WIN32_LEAN_AND_MEAN | |
| --file | ||
| opengl-gl.h | ||
| --methodClassName | ||
| GL | ||
| Gl | ||
| --namespace | ||
| Silk.NET.OpenGL | ||
| --output | ||
|
|
||
This file contains hidden or 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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -6,7 +6,7 @@ WIN32_LEAN_AND_MEAN | |
| --file | ||
| opengl-gl.h | ||
| --methodClassName | ||
| GL | ||
| Gl | ||
| --namespace | ||
| Silk.NET.OpenGL | ||
| --output | ||
|
|
||
This file contains hidden or 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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.