How to adjust image color space, drawn with builtin shader I`m drawing image with code in this example:
Gpu Shader Module, 2D Image Example.

import bpy
import gpu
import bgl
from gpu_extras.batch import batch_for_shader

IMAGE_NAME = "Untitled"
image = bpy.data.images[IMAGE_NAME]

shader = gpu.shader.from_builtin('2D_IMAGE')
batch = batch_for_shader(
    shader, 'TRI_FAN',
    {
        "pos": ((100, 100), (200, 100), (200, 200), (100, 200)),
        "texCoord": ((0, 0), (1, 0), (1, 1), (0, 1)),
    },
)

if image.gl_load():
    raise Exception()


def draw():
    bgl.glActiveTexture(bgl.GL_TEXTURE0)
    bgl.glBindTexture(bgl.GL_TEXTURE_2D, image.bindcode)

    shader.bind()
    shader.uniform_int("image", 0)
    batch.draw(shader)


bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_PIXEL')


It looks much darker then same image drawn as camera background image or empty object.

Cant find a way to adjust its colorspace. Please help, thanks.
With 

shader_code = gpu.shader.code_from_builtin("2D_IMAGE")
print(shader_code["vertex_shader"])
print(shader_code["fragment_shader"])


One can get code for builtin shader and modify it.
Here is mine, just 2 lines changed version:

vertex_shader = '''

    uniform mat4 ModelViewProjectionMatrix;

    in vec2 texCoord;
    in vec2 pos;
    out vec2 texCoord_interp;

    void main()
    {
      gl_Position = ModelViewProjectionMatrix * vec4(pos.xy, 0.0f, 1.0f);
      gl_Position.z = 1.0;
      texCoord_interp = texCoord;
    }

'''
fragment_shader = '''
    in vec2 texCoord_interp;
    out vec4 fragColor;

    uniform float gamma;

    uniform sampler2D image;

    void main()
    {
      fragColor = pow(texture(image, texCoord_interp), vec4(gamma));
    }

'''

shader = gpu.types.GPUShader(vertex_shader, fragment_shader)
shader.uniform_float("gamma", .454)