-
Notifications
You must be signed in to change notification settings - Fork 211
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
Fix transparency+shadows for iOS>=15 non-M1 devices #2552
Conversation
…th and will not have a writeable depth buffer bound. This causes issues with hilite outline on iOS>=15.
…ds, it does not on non-M1 iPads, and no way currently exists to distinguish iOS model in JavaScript.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the webkit dev team aware of this issue?
@pmconne More work is needed to determine if this is something unique to our rendering approach, or if it can be narrowed down to a simple standalone WebGL example (using something like jsfiddle). For now, need to get a fix out for our users and backported to 2.19.x. I suppose we can contact the WebGL mailing list before we have a standalone example to see if they ran into it. I will do that. |
@markschlosseratbentley If you intend to backport this to 2.19.x, consider using |
* LocalhostIpcHost, DTA support for R/W web (via orchestrator) (#2192) Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> Co-authored-by: Paul Connelly <22944042+pmconne@users.noreply.github.com> * 3.0.0-dev.81 * 3.0.0-dev.82 * 3.0.0-dev.83 * remove dependency on deprecated I18next packages (#2434) * remove dependence on deprecated i18next packages * rush change * fix import of i18next-http-backend * ecschema-editor test hangs * another attempt at import * Fix debugger config for UI components tests. * Fix broken default imports. * Fix XHR mock setup in UI tests. * esModuleInterop=true * rename I18N to ITwinLocalization * Add ITwinLocalization tests. * Update tests with new ITwinLocalization name. * Update tests to comply with new ITwinLocalization constructor. * merge * rush change * Default to `en-PSEUDO` in presentation-full-stack-tests * clean up comments * Fix presentation-frontend tests and coverage * add documentation for Localization * reinstate ecschema-editor tests * leftover trash * Remove broken ITwinLocalization tests. Update NextVersion.md. * update NextVersion * extract-api * extract-api, again * export LocalizationOptions Co-authored-by: Daniel Toby <41296254+DanielToby@users.noreply.github.com> Co-authored-by: Bill Goehrig <33036725+wgoehrig@users.noreply.github.com> Co-authored-by: Grigas <35135765+grigasp@users.noreply.github.com> * Presentation: API to get all element properties (#2435) * Add API to get all elements properties * Avoid processing child fields of empty nested content fields * Restore presentation-frontend coverage to 100 * rush extract-api * rush change * Fix typo * Clean up content traverser tests * Improve ElementsPropertiesRequestOptions comment * Fix element ids query * Load properties in batches to reduce memory consumption * Clean up element ids grouping * Unify API for single and multiple element properties * Include empty primitive properties * Adjust formatting and rearrange funtions * Presentation: Restore presentation code coverage to 100 (#2456) * Restore presentation coverage to 100 * rush change * Fix formatting Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> * Usable instructions for debugging display-test-app backend. (#2462) * Usable instructions for debugging display-test-app backend. * remove from launch.json * Revert "remove from launch.json" This reverts commit 979eb69. * Fix web signin, editor debugging and add debugging to dta readme * update lockfile * merge. Co-authored-by: Caleb Shafer <31107829+calebmshafer@users.noreply.github.com> * Presentation: enforce valid page options on getElementProperties (#2471) * Enforce valid page options when requesting multiple elements properties * rush change * Deprecate react-data-grid-based Table Component (#2470) * Deprecate Table component * rush change * spelling correction * remove unnecessary elsint comments * Update NextVersion * Remove unused Bridge Test files (#2187) * Removed unused bridge test files * Removed doc reference to Bridge code * Revert "Removed doc reference to Bridge code" This reverts commit 46937e5. * Revert "Removed unused bridge test files" This reverts commit ed09c8a. * Renamed example code * Updated imports Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> * Dpta add useDisjointTimer config setting to force bypassing using the EXT_disjoint_timer_query to measure GPU times (#2444) * temp turn of gl timer extension for everyone * temp add second readpixels call * Add useDisjointTimer option to dpta config file * Revert isSupported back to original * Get rid of GPU Flush * 3.0.0-dev.84 * #626448: Download changeset by id queries all the changesets (#2400) * #626448: Querying 52k ChangeSets in a single request overloads iModelHub Changelogs are to inform users of changes to package functionality, not miscellanea like adding unit tests. Co-authored-by: Paul Connelly <22944042+pmconne@users.noreply.github.com> * Introduce end-of-line normalization (#2428) * Introduce end-of-line normalization * Lock line endings for presentation ruleset * remove namespace argument from Tool.register (#2469) * localization initialization * doc cleanup * make default IModelApp.localization be ITwinLocalization * rush change * lint errors * doc link error * wip * Remove need to pass localization into example UiItemProviders. * use EmptyLocalization for tests * use EmptyLocalization in map-layers * HyperModeling.shutdown is internal * add IModelApp.onBeforeShutdown and make HyperModelign use it * extract-api * rush change * extract-api * extract-api * wip * flailing * switch back to XHR to get tests wokring * rush change * rush update to fix header * rush update * doc for Localization.initialize * more flailing * HyperModelingDecorator.sync must verify the package hasn't become uninitialized due to IModelApp.shutdown. * remove noise from presentation-full-stack-tests * extract-api, again Co-authored-by: bsteinbk <65047615+bsteinbk@users.noreply.github.com> Co-authored-by: Paul Connelly <22944042+pmconne@users.noreply.github.com> * 3.0.0-dev.85 * add global `UnexpectedErrors` handler (#2484) * add UnexpectedErrors class * extract-api * fix failing test. * extract-api * test bad telemetry * rush change * Remove UI items arbiter (#2480) * remove deprecated UiItemsArbiter * rush change * Update requestContext method comments to accessToken (#2441) * Removed/updated method comments * import from @itwin/core-bentley instead of core-bentley/src/id (#2483) * Update package names (#2479) * Correct package names in doc files * rush update * rush update * update file header * Resolve comments * methods to mark/remove edges in a triangulation to create larger convex faces (#2481) * port vu expandToConvexFaces to HalfEdgeGraph * expandConvex simple test * must test superface for convexity * must test superface for convexity * test for false positive, fix docs build * fix comments * fix comments Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> * 3.0.0-dev.86 * Minimum viable product tests for Substation (and associated code changes) (#2112) * new tests and assoc. refactor * lock file * test * Revert "test" This reverts commit 769e495. * Revert "lock file" This reverts commit c2e6517. * try remove header * fixing install-run scripts * reenabling the copyright git hook * wip * wip * wip * wip * Refactor based on PR feedback * lock file * change log * lock file * Support Open City Planner (OCP) that stores orbit point clouds (OPC) in their own azure environment. (#2498) * Support Open City Planner (OCP) legacy orbitGTBlob point cloud attachment (port of #2489 to imodel.js 3.0) * extract-api * changelog * Fix the copying of the map layer localization files (#2505) * 3.0.0-dev.87 * Presentation: Fix for getElementProperties to handle class names correctly (#2496) * Create valid WHERE clause when filtering elements by class * rush change * Remove .only * Reduce snapshot size * Improve error message * Remove WidgetProvider in favor of UiItemsProvider (#2502) * remove WidgetProvider * rush change * fix lint issues * add support for new consent screen for sign-in (#2507) * Update CODEOWNERS for renamed UI packages. (#2511) * Initialize StateManager store if necessary. (#2509) * Initial StateManager store if necessary. * rush change * Remove React 16 peer dependencies from ui packages (#2478) * Remove react 16 peer dependencies * Rush change * rush update * rush update * rush update * update script * update file header * Update presentation-components and NextVersion * rush change * update .d.ts files for test apps * Update dependency list * Update depencencies * Use contrasting color for edges in SolidFill mode (#2517) * 3.0.0-dev.88 * add ui-test-extension as a dependency to ui-test-app (#2495) * add ui-test-extension as a dependency to ui-test-app * fix up main and typings entries * updates to fix scss refs and locale strings Co-authored-by: Caleb Shafer <31107829+calebmshafer@users.noreply.github.com> * 3.0.0-dev.89 * use db.locks to release locks after push rather than hubaccess (#2516) * use db.locks to release locks after push rather than hubacces * test that pushChanges releases locks * disable locks for changeset size test * remove unused _concurrentQueryInitialized * use locks in IModelWrite tests Co-authored-by: Sam Wilson <69692709+swwilson-bsi@users.noreply.github.com> * 3.0.0-dev.90 * ignore url prefix in ImsAuthorizationClient if custom authority is set (#2468) * ignore url prefix in ImsAuthorizationClient if custom authority is set * Edl/closest point on curve chain with distance index (#2514) * It is observed (NW) that "closestPoint" query to a CurveChainWithDistanceIndex fails when the nearest primitive is an IntegratedSpiral. This is because in construction of the distance index the spiral presented its strokes instead of a reference to itself with a stroke count. This problem may affect multiple primitive types that sometimes present themselves directly and sometimes as strokes. To solve, create a new optional method in the stroking interface. The handler requesting strokes can directly indicate that it wants the primary geometry is preferred. (Specifically, in the IntegratedSpiral, it diverts to the "else" branch of the announcement in emitStrokableParts. This may need to be added to other emitStrokableParts implementations . . .) * Reverse default value on primary curve query * Drop dependency on imodelhub-client in backend (#2430) Remove the dependency @itwin/core-backend, and other packages, have on the @bentley/imodelhub-client and allow the hubAccess to be configured on IModelHost.startup. - @itwin/core-backend changes: - Removed the IModelHubBackend class, which wrapped the @bentley/imodelhub-client to fit the BackendHubAccess interface, into the @bentley/imodelhub-client - Refactor all integration tests to not need the imodelhub-client as a devDependency but didn't want to keep holding up this PR for that so I'll need to cycle back around and figure out how to handle a few things. - @bentley/backend-itwin-client changes: - Moved all imodelhub based file handling and shifted it in the @bentley/imodelhub-client directly. The entire package has now been removed. - @bentley/imodelhub-client changes: - Add all backend capabilities of managing iModels by introducing a new "barrel" file called "imodelhub-node.ts". This barrel is intended to help backends only have to directly import from a single file. With the merging of all iModelHub functionality into a single client splitting it up into two halves was necessary. (Note: the replacement iModels clients will be made up of two separate packages). - native-app-full-stack-tests: - There was a lot of duplication between this test suite and the core-full-stack-tests for only 3 actual tests. Since we were already using Electron in the Core tests, merged the two. - core-full-stack-tests: - Introduced a new TestUtility.startFrontend and TestUtility.shutdown to better encapsulate the process for the varied cases used within the tests. This change exposed an issue with attempting to shutdown and re-start an ElectronApp w.r.t. to an invalid state of the Ipc Interfaces when that is done. - Added the ability for the TestUtility.startFrontend to create the same render setup as MockRenderApp in the frontend. It was easier this way to isolate each test run specifically and call the startup. - Re-wrote the Bank/Hub handling to be better describe the two workflows. IMO there's still cleanup needed here but I'll follow up after this PR - backend-integration-tests: - Added a new integration test package in the full-stack-tests folder that is purely for testing some components of the backend code with an iModelHub service rather than the HubMock that is now used in the core-backend package tests. - These were separated out in order to work around the circular dependency issues with the core-backend itself. * Schema Editing enhancements (#2493) * multiple changes/cleanup * change log and api extraction * use generic method properly instead of 'as' op. * lock file * fixing lint errors * lock file * Unit test fix * fix lint error * lock file * removing copyright header * lock file * Drop ESLint 6.x support (#2485) * Drop ESLint 6.x support Co-authored-by: Caleb Shafer <31107829+calebmshafer@users.noreply.github.com> * Fixed various CSS defects in map-layers widget (#2528) * 3.0.0-dev.91 * Documentation of ClipPlane, ConvexClipPlaneSet, UnionOfConvexClipPlaneSets, ClipVector (#2533) * ClipPlane docs support hand merged due to CR/LF problems * Master doc file * doc figures and exports * doc figures and exports * maint: speed up local builds + esm NextVersion update (#2448) - dropped the compile command - updated the build command to build only cjs (and whatever else necessary to run tests) - added a build:ci command which will build both cjs & esm - this command is run on master and the publish/release ci. if there are issues building esm, we'll catch it then moved webpacking frontends of test-apps here - Add NextVersion.md update for ESM changes. * Update itwin-registry-client to use public API endpoints (#2439) Update use of itwin registry to use @itwin/projects-client for leveraging the public API endpoints * Cleanup peer deps of core-i18n (#2535) * clean up some of the peerDeps * 3.0.0-dev.92 * Fix incorrect implementation of BackendHubAccess by IModelHubBackend (#2538) * Fix IModelHubBackend (TODO: imodel-transformer) * imodel-transformer * extract-api * testing doc tags. * revert testing doc tags; fix trailing comma in rush.json Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> * Fix timepoint invalidation (#2541) * Remove native key handling (#2545) * Remove native key handling in React editor components. * Rush change * extract-api * Detect and fail tests when timers or other handles are not cleaned up. (#2497) * Detect and fail tests when timers or other handles are not cleaned up. * extract-api * 3.0.0-dev.93 * Fix exception when pulling changesets. (#2543) * Fix loading map errors and DTAs build command (#2515) * Remove the default of adding a x-correlation-id temporarily to get maps working again * fix release tags * Remove array buffer wrapper * temporarily webpack the frontend to copy the static assets for dta Co-authored-by: Paul Connelly <22944042+pmconne@users.noreply.github.com> Co-authored-by: Arun George <aruniverse@users.noreply.github.com> * Fix ios hilite outlines (#2537) * Fix ViewCreator3d spatial criterion (#2554) * Fix transparency+shadows for iOS>=15 non-M1 devices (#2552) * Rename ui subdirectories to match package names (#2553) * rename directories * Update rush.json for new project names * update repository url in package.json files for new dir names * rush u pdate * rush change * Add node-fetch to the optional dep list of backend-webpack-tools (#2556) * 3.0.0-dev.94 * 3.0.0-dev.95 * Add display-test-app keyin to sign out. (#2560) * Fix volume classifier hilite (#2561) * Revert "Fix ios hilite outlines (#2537)" This reverts commit cb14d9c. * Bind depth for hilite. * changelog * Fix overlays for iOS15 (#2562) * Do not output depth in hilite shaders - they do not need to write depth and will not have a writeable depth buffer bound. This causes issues with hilite outline on iOS>=15. * rush change * Disallow float rendering if iOS is detected. While it works on M1 iPads, it does not on non-M1 iPads, and no way currently exists to distinguish iOS model in JavaScript. * rush change * Add helpful comments and fix the check (add parens) * Framebuffer on Target needs a depth buffer because objects drawn in overlay mode may try to assign depth. * rush change * add comment and assert for depth disposal that matches the dispose for color attachment on Target. * correct paths for vscode launch debugger (#2557) Co-authored-by: Arun George <aruniverse@users.noreply.github.com> * Fix exception when fitting 2d views. (#2565) * Remove ViewState.isCameraEnabled() (#2566) * Remove localization specification from UiFramework and UiIModelComponents initialize methods (#2520) * UiFramework and UiIModelComponent no longer use localization specification in initalize method * extract-api * rush change * update unit tests. * remove duplicate rush change files * Remove unused EmptyLocalization import * iconSpec should not be optional * remove unused localization in appui-abstract * fix loggerCategor * revert iconprops change * extract-api * fix lint issue * revert test with no iconspec * remove .only * Move MessagePresenter to UiAdmin Co-authored-by: Caleb Shafer <31107829+calebmshafer@users.noreply.github.com> * The build script should build your app. (#2567) * 3.0.0-dev.96 * Restore compile scripts for test apps. (#2571) * display-performance-test-app reports additional statistics (#2572) * Compute additional stats for each test case. Restore `compile` script. * more stats; docs. * @bentley/imodeljs-native 3.0.16 * typo * lint * Update presentation full stack tests. - The addon now detects concrete classes in relationship path. Previously it used to use base classes in some cases. - Related content fields are now omited if there are no related instances of requested class. Previously the field was created with empty values. Co-authored-by: swbsi <69857376+swbsi@users.noreply.github.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> Co-authored-by: imodeljs-admin <38288322+imodeljs-admin@users.noreply.github.com> Co-authored-by: kabentley <33296803+kabentley@users.noreply.github.com> Co-authored-by: Daniel Toby <41296254+DanielToby@users.noreply.github.com> Co-authored-by: Bill Goehrig <33036725+wgoehrig@users.noreply.github.com> Co-authored-by: Grigas <35135765+grigasp@users.noreply.github.com> Co-authored-by: Saulius Skliutas <24278440+saskliutas@users.noreply.github.com> Co-authored-by: Caleb Shafer <31107829+calebmshafer@users.noreply.github.com> Co-authored-by: NancyMcCallB <45079789+NancyMcCallB@users.noreply.github.com> Co-authored-by: Spencer Barnes <interstellarjumper@gmail.com> Co-authored-by: hnn0003 <18196761+hnn0003@users.noreply.github.com> Co-authored-by: azonys <69573450+azonys@users.noreply.github.com> Co-authored-by: Seamus Kirby <32379572+skirby1996@users.noreply.github.com> Co-authored-by: bsteinbk <65047615+bsteinbk@users.noreply.github.com> Co-authored-by: nick4598 <22119573+nick4598@users.noreply.github.com> Co-authored-by: dassaf4 <68340676+dassaf4@users.noreply.github.com> Co-authored-by: christophermlawson <32881725+christophermlawson@users.noreply.github.com> Co-authored-by: MarcBedard8 <31048177+MarcBedard8@users.noreply.github.com> Co-authored-by: Sam Wilson <69692709+swwilson-bsi@users.noreply.github.com> Co-authored-by: Paulius Valiunas <66480813+paulius-valiunas@users.noreply.github.com> Co-authored-by: EarlinLutz <69321059+EarlinLutz@users.noreply.github.com> Co-authored-by: Michel D'Astous <mdastous-bentley@users.noreply.github.com> Co-authored-by: Arun George <11051042+aruniverse@users.noreply.github.com> Co-authored-by: Arun George <aruniverse@users.noreply.github.com> Co-authored-by: markschlosseratbentley <47000437+markschlosseratbentley@users.noreply.github.com> Co-authored-by: Robert Lukasonok <70327485+roluk@users.noreply.github.com> Co-authored-by: Alexandre.Gagnon <3418768+a-gagnon@users.noreply.github.com> Co-authored-by: Patrick Bell <20171969+pbell97@users.noreply.github.com> Co-authored-by: Affan Khan <khanaffan@users.noreply.github.com> Co-authored-by: MarcNeely <36053767+MarcNeely@users.noreply.github.com> Co-authored-by: karolisab <89905873+karolisab@users.noreply.github.com> Co-authored-by: RBBentley <ray.bentley@bentley.com> Co-authored-by: Ray.Bentley <rbbentley@users.noreply.github.com> Co-authored-by: Will Bentley <38542573+williamkbentley@users.noreply.github.com> Co-authored-by: affank <khanaffan@gmail.com> Co-authored-by: mgooding <869053+mgooding@users.noreply.github.com> Co-authored-by: bbastings <65233531+bbastings@users.noreply.github.com> Co-authored-by: AlainRobertAtBentley <73677355+AlainRobertAtBentley@users.noreply.github.com>
This PR fixes transparency and shadows on iOS>=15 for non-M1 iOS devices. We need to fall back to half-float (16-bit) texture rendering to accommodate those devices, even though they claim support for full-float (32-bit) texture rendering.
https://bentleycs.visualstudio.com/iModelTechnologies/_workitems/edit/731752/