Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Conversation

@jonahwilliams
Copy link
Contributor

  • Use sampler address mode for clamp, mirror, and repeat tile modes. Add specialzied shader for decal tile mode.
  • Move texture flip to vertex shader
**[/Users/jonahwilliams/engine/src/out/android_debug_arm64/gen/flutter/impeller/entity/gles/gaussian_blur.frag.gles]**

[Mali-T880]
Main shader
===========

- Work registers: 4 (100% used at 100% occupancy)
+ Work registers: 3 (75% used at 100% occupancy)
- Uniform registers: 2 (10% used)
+ Uniform registers: 2 (9% used)
Stack spilling: false

                                A      LS       T    Bound
- Total instruction cycles:   22.67    2.00    2.00        A
+ Total instruction cycles:    5.00    2.00    2.00        A
- Shortest path cycles:        4.62    2.00    0.00        A
+ Shortest path cycles:        2.97    2.00    1.00        A
Longest path cycles:          N/A     N/A     N/A      N/A

A = Arithmetic, LS = Load/Store, T = Texture

Shader properties
=================

Has uniform computation: false



[Mali-T860]
Main shader
===========

- Work registers: 4 (100% used at 100% occupancy)
+ Work registers: 3 (75% used at 100% occupancy)
- Uniform registers: 2 (10% used)
+ Uniform registers: 2 (9% used)
Stack spilling: false

                                A      LS       T    Bound
- Total instruction cycles:   34.00    2.00    2.00        A
+ Total instruction cycles:    7.50    2.00    2.00        A
- Shortest path cycles:        7.00    2.00    0.00        A
+ Shortest path cycles:        4.50    2.00    1.00        A
Longest path cycles:          N/A     N/A     N/A      N/A

A = Arithmetic, LS = Load/Store, T = Texture

Shader properties
=================

Has uniform computation: false



[Mali-T830]
Main shader
===========

Work registers: 4 (100% used at 100% occupancy)
Uniform registers: 2 (10% used)
Stack spilling: false

                                A      LS       T    Bound
- Total instruction cycles:   32.50    2.00    2.00        A
+ Total instruction cycles:    7.50    2.00    2.00        A
- Shortest path cycles:        4.62    2.00    0.00        A
+ Shortest path cycles:        3.25    2.00    1.00        A
Longest path cycles:          N/A     N/A     N/A      N/A

A = Arithmetic, LS = Load/Store, T = Texture

Shader properties
=================

Has uniform computation: false



[Mali-T820]
Main shader
===========

Work registers: 4 (100% used at 100% occupancy)
Uniform registers: 2 (10% used)
Stack spilling: false

                                A      LS       T    Bound
- Total instruction cycles:   65.00    2.00    2.00        A
+ Total instruction cycles:   15.00    2.00    2.00        A
- Shortest path cycles:        9.25    2.00    0.00        A
+ Shortest path cycles:        6.50    2.00    1.00        A
Longest path cycles:          N/A     N/A     N/A      N/A

A = Arithmetic, LS = Load/Store, T = Texture

Shader properties
=================

Has uniform computation: false



[Mali-T760]
Main shader
===========

- Work registers: 4 (100% used at 100% occupancy)
+ Work registers: 3 (75% used at 100% occupancy)
- Uniform registers: 2 (10% used)
+ Uniform registers: 2 (9% used)
Stack spilling: false

                                A      LS       T    Bound
- Total instruction cycles:   34.00    2.00    2.00        A
+ Total instruction cycles:    7.50    2.00    2.00        A
- Shortest path cycles:        7.00    2.00    0.00        A
+ Shortest path cycles:        4.50    2.00    1.00        A
Longest path cycles:          N/A     N/A     N/A      N/A

A = Arithmetic, LS = Load/Store, T = Texture

Shader properties
=================

Has uniform computation: false



[Mali-T720]
Main shader
===========

- Work registers: 4 (100% used at 100% occupancy)
+ Work registers: 3 (75% used at 100% occupancy)
- Uniform registers: 2 (10% used)
+ Uniform registers: 2 (9% used)
Stack spilling: false

                                A      LS       T    Bound
- Total instruction cycles:   63.00    2.00    2.00        A
+ Total instruction cycles:   14.00    2.00    2.00        A
- Shortest path cycles:        8.75    2.00    0.00        A
+ Shortest path cycles:        5.50    2.00    1.00        A
Longest path cycles:          N/A     N/A     N/A      N/A

A = Arithmetic, LS = Load/Store, T = Texture


[Mali-G78AE]
Main shader
===========

- Work registers: 20 (62% used at 100% occupancy)
+ Work registers: 19 (59% used at 100% occupancy)
- Uniform registers: 16 (25% used)
+ Uniform registers: 12 (18% used)
Stack spilling: false
- 16-bit arithmetic: 91%
+ 16-bit arithmetic: 76%

                                A      LS       V       T    Bound
- Total instruction cycles:    1.55    0.00    0.25    0.50        A
+ Total instruction cycles:    0.33    0.00    0.50    0.50     V, T
- Shortest path cycles:        0.27    0.00    0.12    0.00        A
+ Shortest path cycles:        0.12    0.00    0.25    0.25     V, T
Longest path cycles:          N/A     N/A     N/A     N/A      N/A

A = Arithmetic, LS = Load/Store, V = Varying, T = Texture

Shader properties
=================

Has uniform computation: true
Has side-effects: false
Modifies coverage: false
Uses late ZS test: false
Uses late ZS update: false
Reads color buffer: false



[Mali-G78]
Main shader
===========

- Work registers: 20 (62% used at 100% occupancy)
+ Work registers: 19 (59% used at 100% occupancy)
- Uniform registers: 16 (25% used)
+ Uniform registers: 12 (18% used)
Stack spilling: false
- 16-bit arithmetic: 91%
+ 16-bit arithmetic: 76%

                                A      LS       V       T    Bound
- Total instruction cycles:    1.55    0.00    0.25    0.50        A
+ Total instruction cycles:    0.33    0.00    0.50    0.50     V, T
- Shortest path cycles:        0.27    0.00    0.12    0.00        A
+ Shortest path cycles:        0.12    0.00    0.25    0.25     V, T
Longest path cycles:          N/A     N/A     N/A     N/A      N/A

A = Arithmetic, LS = Load/Store, V = Varying, T = Texture

Shader properties
=================

Has uniform computation: true
Has side-effects: false
Modifies coverage: false
Uses late ZS test: false
Uses late ZS update: false
Reads color buffer: false



[Mali-G77]
Main shader
===========

- Work registers: 20 (62% used at 100% occupancy)
+ Work registers: 19 (59% used at 100% occupancy)
- Uniform registers: 16 (25% used)
+ Uniform registers: 12 (18% used)
Stack spilling: false
- 16-bit arithmetic: 91%
+ 16-bit arithmetic: 76%

                                A      LS       V       T    Bound
- Total instruction cycles:    1.55    0.00    0.25    0.50        A
+ Total instruction cycles:    0.33    0.00    0.50    0.50     V, T
- Shortest path cycles:        0.27    0.00    0.12    0.00        A
+ Shortest path cycles:        0.12    0.00    0.25    0.25     V, T
Longest path cycles:          N/A     N/A     N/A     N/A      N/A

A = Arithmetic, LS = Load/Store, V = Varying, T = Texture

Shader properties
=================

Has uniform computation: true
Has side-effects: false
Modifies coverage: false
Uses late ZS test: false
Uses late ZS update: false
Reads color buffer: false



[Mali-G76]
Main shader
===========

Work registers: 20 (62% used at 100% occupancy)
- Uniform registers: 18 (28% used)
+ Uniform registers: 12 (18% used)
Stack spilling: false
- 16-bit arithmetic: 91%
+ 16-bit arithmetic: 68%

                                A      LS       V       T    Bound
- Total instruction cycles:    4.53    0.00    0.25    1.00        A
+ Total instruction cycles:    1.21    0.00    0.50    1.00        A
- Shortest path cycles:        0.96    0.00    0.12    0.00        A
+ Shortest path cycles:        0.67    0.00    0.25    0.50        A
Longest path cycles:          N/A     N/A     N/A     N/A      N/A

A = Arithmetic, LS = Load/Store, V = Varying, T = Texture

Shader properties
=================

Has uniform computation: true
Has side-effects: false
Modifies coverage: false
Uses late ZS test: false
Uses late ZS update: false
Reads color buffer: false



[Mali-G72]
Main shader
===========

- Work registers: 22 (68% used at 100% occupancy)
+ Work registers: 21 (65% used at 100% occupancy)
- Uniform registers: 18 (28% used)
+ Uniform registers: 12 (18% used)
Stack spilling: false
- 16-bit arithmetic: 91%
+ 16-bit arithmetic: 68%

                                A      LS       V       T    Bound
- Total instruction cycles:    9.27    0.00    0.50    2.00        A
+ Total instruction cycles:    2.42    0.00    1.00    2.00        A
- Shortest path cycles:        1.92    0.00    0.25    0.00        A
+ Shortest path cycles:        1.33    0.00    0.50    1.00        A
Longest path cycles:          N/A     N/A     N/A     N/A      N/A

A = Arithmetic, LS = Load/Store, V = Varying, T = Texture

Shader properties
=================

Has uniform computation: true
Has side-effects: false
Modifies coverage: false
Uses late ZS test: false
Uses late ZS update: false
Reads color buffer: false



[Mali-G715]
Main shader
===========

- Work registers: 20 (62% used at 100% occupancy)
+ Work registers: 19 (59% used at 100% occupancy)
- Uniform registers: 16 (25% used)
+ Uniform registers: 12 (18% used)
Stack spilling: false
- 16-bit arithmetic: 72%
+ 16-bit arithmetic: 76%

                                A      LS       V       T    Bound
- Total instruction cycles:    0.82    0.00    0.06    0.25        A
+ Total instruction cycles:    0.14    0.00    0.12    0.25        T
- Shortest path cycles:        0.15    0.00    0.03    0.00        A
+ Shortest path cycles:        0.06    0.00    0.06    0.12        T
Longest path cycles:          N/A     N/A     N/A     N/A      N/A

A = Arithmetic, LS = Load/Store, V = Varying, T = Texture

Shader properties
=================

Has uniform computation: true
Has side-effects: false
Modifies coverage: false
Uses late ZS test: false
Uses late ZS update: false
Reads color buffer: false



[Mali-G710]
Main shader
===========

- Work registers: 20 (62% used at 100% occupancy)
+ Work registers: 19 (59% used at 100% occupancy)
- Uniform registers: 16 (25% used)
+ Uniform registers: 12 (18% used)
Stack spilling: false
- 16-bit arithmetic: 91%
+ 16-bit arithmetic: 76%

                                A      LS       V       T    Bound
- Total instruction cycles:    1.20    0.00    0.12    0.25        A
+ Total instruction cycles:    0.29    0.00    0.25    0.25        A
- Shortest path cycles:        0.22    0.00    0.06    0.00        A
+ Shortest path cycles:        0.12    0.00    0.12    0.12     V, T
Longest path cycles:          N/A     N/A     N/A     N/A      N/A

A = Arithmetic, LS = Load/Store, V = Varying, T = Texture

Shader properties
=================

Has uniform computation: true
Has side-effects: false
Modifies coverage: false
Uses late ZS test: false
Uses late ZS update: false
Reads color buffer: false



[Mali-G71]
Main shader
===========

- Work registers: 21 (65% used at 100% occupancy)
+ Work registers: 20 (62% used at 100% occupancy)
- Uniform registers: 20 (31% used)
+ Uniform registers: 14 (21% used)
Stack spilling: false
- 16-bit arithmetic: 85%
+ 16-bit arithmetic: 60%

                                A      LS       V       T    Bound
- Total instruction cycles:    9.83    0.00    0.50    2.00        A
+ Total instruction cycles:    2.67    0.00    1.00    2.00        A
- Shortest path cycles:        1.83    0.00    0.25    0.00        A
+ Shortest path cycles:        1.33    0.00    0.50    1.00        A
Longest path cycles:          N/A     N/A     N/A     N/A      N/A

A = Arithmetic, LS = Load/Store, V = Varying, T = Texture

Shader properties
=================

Has uniform computation: true
Has side-effects: false
Modifies coverage: false
Uses late ZS test: false
Uses late ZS update: false
Reads color buffer: false



[Mali-G68]
Main shader
===========

- Work registers: 20 (62% used at 100% occupancy)
+ Work registers: 19 (59% used at 100% occupancy)
- Uniform registers: 16 (25% used)
+ Uniform registers: 12 (18% used)
Stack spilling: false
- 16-bit arithmetic: 91%
+ 16-bit arithmetic: 76%

                                A      LS       V       T    Bound
- Total instruction cycles:    1.55    0.00    0.25    0.50        A
+ Total instruction cycles:    0.33    0.00    0.50    0.50     V, T
- Shortest path cycles:        0.27    0.00    0.12    0.00        A
+ Shortest path cycles:        0.12    0.00    0.25    0.25     V, T
Longest path cycles:          N/A     N/A     N/A     N/A      N/A

A = Arithmetic, LS = Load/Store, V = Varying, T = Texture

Shader properties
=================

Has uniform computation: true
Has side-effects: false
Modifies coverage: false
Uses late ZS test: false
Uses late ZS update: false
Reads color buffer: false



[Mali-G615]
Main shader
===========

- Work registers: 20 (62% used at 100% occupancy)
+ Work registers: 19 (59% used at 100% occupancy)
- Uniform registers: 16 (25% used)
+ Uniform registers: 12 (18% used)
Stack spilling: false
- 16-bit arithmetic: 72%
+ 16-bit arithmetic: 76%

                                A      LS       V       T    Bound
- Total instruction cycles:    0.82    0.00    0.06    0.25        A
+ Total instruction cycles:    0.14    0.00    0.12    0.25        T
- Shortest path cycles:        0.15    0.00    0.03    0.00        A
+ Shortest path cycles:        0.06    0.00    0.06    0.12        T
Longest path cycles:          N/A     N/A     N/A     N/A      N/A

A = Arithmetic, LS = Load/Store, V = Varying, T = Texture

Shader properties
=================

Has uniform computation: true
Has side-effects: false
Modifies coverage: false
Uses late ZS test: false
Uses late ZS update: false
Reads color buffer: false



[Mali-G610]
Main shader
===========

- Work registers: 20 (62% used at 100% occupancy)
+ Work registers: 19 (59% used at 100% occupancy)
- Uniform registers: 16 (25% used)
+ Uniform registers: 12 (18% used)
Stack spilling: false
- 16-bit arithmetic: 91%
+ 16-bit arithmetic: 76%

                                A      LS       V       T    Bound
- Total instruction cycles:    1.20    0.00    0.12    0.25        A
+ Total instruction cycles:    0.29    0.00    0.25    0.25        A
- Shortest path cycles:        0.22    0.00    0.06    0.00        A
+ Shortest path cycles:        0.12    0.00    0.12    0.12     V, T
Longest path cycles:          N/A     N/A     N/A     N/A      N/A

A = Arithmetic, LS = Load/Store, V = Varying, T = Texture

Shader properties
=================

Has uniform computation: true
Has side-effects: false
Modifies coverage: false
Uses late ZS test: false
Uses late ZS update: false
Reads color buffer: false



[Mali-G57]
Main shader
===========

- Work registers: 20 (62% used at 100% occupancy)
+ Work registers: 19 (59% used at 100% occupancy)
- Uniform registers: 16 (25% used)
+ Uniform registers: 12 (18% used)
Stack spilling: false
- 16-bit arithmetic: 91%
+ 16-bit arithmetic: 76%

                                A      LS       V       T    Bound
- Total instruction cycles:    1.55    0.00    0.25    0.50        A
+ Total instruction cycles:    0.33    0.00    0.50    0.50     V, T
- Shortest path cycles:        0.27    0.00    0.12    0.00        A
+ Shortest path cycles:        0.12    0.00    0.25    0.25     V, T
Longest path cycles:          N/A     N/A     N/A     N/A      N/A

A = Arithmetic, LS = Load/Store, V = Varying, T = Texture

Shader properties
=================

Has uniform computation: true
Has side-effects: false
Modifies coverage: false
Uses late ZS test: false
Uses late ZS update: false
Reads color buffer: false



[Mali-G52]
Main shader
===========

Work registers: 20 (62% used at 100% occupancy)
- Uniform registers: 18 (28% used)
+ Uniform registers: 12 (18% used)
Stack spilling: false
- 16-bit arithmetic: 91%
+ 16-bit arithmetic: 68%

                                A      LS       V       T    Bound
- Total instruction cycles:    4.53    0.00    0.25    1.00        A
+ Total instruction cycles:    1.21    0.00    0.50    1.00        A
- Shortest path cycles:        0.96    0.00    0.12    0.00        A
+ Shortest path cycles:        0.67    0.00    0.25    0.50        A
Longest path cycles:          N/A     N/A     N/A     N/A      N/A

A = Arithmetic, LS = Load/Store, V = Varying, T = Texture

Shader properties
=================

Has uniform computation: true
Has side-effects: false
Modifies coverage: false
Uses late ZS test: false
Uses late ZS update: false
Reads color buffer: false



[Mali-G510]
Main shader
===========

- Work registers: 20 (62% used at 100% occupancy)
+ Work registers: 19 (59% used at 100% occupancy)
- Uniform registers: 16 (25% used)
+ Uniform registers: 12 (18% used)
Stack spilling: false
- 16-bit arithmetic: 91%
+ 16-bit arithmetic: 76%

                                A      LS       V       T    Bound
- Total instruction cycles:    1.60    0.00    0.12    0.25        A
+ Total instruction cycles:    0.39    0.00    0.25    0.25        A
- Shortest path cycles:        0.29    0.00    0.06    0.00        A
+ Shortest path cycles:        0.16    0.00    0.12    0.12        A
Longest path cycles:          N/A     N/A     N/A     N/A      N/A

A = Arithmetic, LS = Load/Store, V = Varying, T = Texture

Shader properties
=================

Has uniform computation: true
Has side-effects: false
Modifies coverage: false
Uses late ZS test: false
Uses late ZS update: false
Reads color buffer: false



[Mali-G51]
Main shader
===========

- Work registers: 20 (62% used at 100% occupancy)
+ Work registers: 21 (65% used at 100% occupancy)
- Uniform registers: 18 (28% used)
+ Uniform registers: 12 (18% used)
Stack spilling: false
- 16-bit arithmetic: 91%
+ 16-bit arithmetic: 68%

                                A      LS       V       T    Bound
- Total instruction cycles:    9.07    0.00    0.25    1.00        A
+ Total instruction cycles:    2.42    0.00    0.50    1.00        A
- Shortest path cycles:        1.92    0.00    0.12    0.00        A
+ Shortest path cycles:        1.33    0.00    0.25    0.50        A
Longest path cycles:          N/A     N/A     N/A     N/A      N/A

A = Arithmetic, LS = Load/Store, V = Varying, T = Texture

Shader properties
=================

Has uniform computation: true
Has side-effects: false
Modifies coverage: false
Uses late ZS test: false
Uses late ZS update: false
Reads color buffer: false



[Mali-G310]
Main shader
===========

- Work registers: 20 (62% used at 100% occupancy)
+ Work registers: 19 (59% used at 100% occupancy)
- Uniform registers: 16 (25% used)
+ Uniform registers: 12 (18% used)
Stack spilling: false
- 16-bit arithmetic: 91%
+ 16-bit arithmetic: 76%

                                A      LS       V       T    Bound
- Total instruction cycles:    2.41    0.00    0.25    0.50        A
+ Total instruction cycles:    0.58    0.00    0.50    0.50        A
- Shortest path cycles:        0.44    0.00    0.12    0.00        A
+ Shortest path cycles:        0.23    0.00    0.25    0.25     V, T
Longest path cycles:          N/A     N/A     N/A     N/A      N/A

A = Arithmetic, LS = Load/Store, V = Varying, T = Texture

Shader properties
=================

Has uniform computation: true
Has side-effects: false
Modifies coverage: false
Uses late ZS test: false
Uses late ZS update: false
Reads color buffer: false



[Mali-G31]
Main shader
===========

- Work registers: 20 (62% used at 100% occupancy)
+ Work registers: 21 (65% used at 100% occupancy)
- Uniform registers: 18 (28% used)
+ Uniform registers: 12 (18% used)
Stack spilling: false
- 16-bit arithmetic: 91%
+ 16-bit arithmetic: 68%

                                A      LS       V       T    Bound
- Total instruction cycles:   13.60    0.00    0.25    1.00        A
+ Total instruction cycles:    3.62    0.00    0.50    1.00        A
- Shortest path cycles:        2.88    0.00    0.12    0.00        A
+ Shortest path cycles:        2.00    0.00    0.25    0.50        A
Longest path cycles:          N/A     N/A     N/A     N/A      N/A

A = Arithmetic, LS = Load/Store, V = Varying, T = Texture

Shader properties
=================

Has uniform computation: true
Has side-effects: false
Modifies coverage: false
Uses late ZS test: false
Uses late ZS update: false
Reads color buffer: false



[Immortalis-G715]
Main shader
===========

- Work registers: 20 (62% used at 100% occupancy)
+ Work registers: 19 (59% used at 100% occupancy)
- Uniform registers: 16 (25% used)
+ Uniform registers: 12 (18% used)
Stack spilling: false
- 16-bit arithmetic: 72%
+ 16-bit arithmetic: 76%

                                A      LS       V       T    Bound
- Total instruction cycles:    0.82    0.00    0.06    0.25        A
+ Total instruction cycles:    0.14    0.00    0.12    0.25        T
- Shortest path cycles:        0.15    0.00    0.03    0.00        A
+ Shortest path cycles:        0.06    0.00    0.06    0.12        T
Longest path cycles:          N/A     N/A     N/A     N/A      N/A

A = Arithmetic, LS = Load/Store, V = Varying, T = Texture

Shader properties
=================

Has uniform computation: true
Has side-effects: false
Modifies coverage: false
Uses late ZS test: false
Uses late ZS update: false
Reads color buffer: false

@jonahwilliams
Copy link
Contributor Author

We're going to hold off on this until we have better support for shader variants in the engine code.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

No open projects
Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants