Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
glslang
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Chen Yisong
glslang
Commits
d7f9406f
Commit
d7f9406f
authored
Feb 22, 2013
by
John Kessenich
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Rationalize locations of type string methods.
git-svn-id:
https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20684
e7fa87d3-cd2b-0410-9028-fcbf551c1848
parent
6f045f3e
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
71 additions
and
71 deletions
+71
-71
Types.h
glslang/Include/Types.h
+70
-3
intermediate.h
glslang/Include/intermediate.h
+0
-3
ParseHelper.cpp
glslang/MachineIndependent/ParseHelper.cpp
+1
-2
intermOut.cpp
glslang/MachineIndependent/intermOut.cpp
+0
-63
No files found.
glslang/Include/Types.h
View file @
d7f9406f
...
@@ -50,7 +50,8 @@ enum TSamplerDim {
...
@@ -50,7 +50,8 @@ enum TSamplerDim {
Esd3D
,
Esd3D
,
EsdCube
,
EsdCube
,
EsdRect
,
EsdRect
,
EsdBuffer
EsdBuffer
,
EsdNumDims
};
};
struct
TSampler
{
struct
TSampler
{
...
@@ -100,6 +101,37 @@ struct TSampler {
...
@@ -100,6 +101,37 @@ struct TSampler {
ms
==
right
.
ms
&&
ms
==
right
.
ms
&&
image
==
right
.
image
;
image
==
right
.
image
;
}
}
TString
getString
()
const
{
TString
s
;
switch
(
type
)
{
case
EbtFloat
:
break
;
case
EbtInt
:
s
.
append
(
"i"
);
break
;
case
EbtUint
:
s
.
append
(
"u"
);
break
;
}
if
(
image
)
s
.
append
(
"image"
);
else
s
.
append
(
"sampler"
);
switch
(
dim
)
{
case
Esd1D
:
s
.
append
(
"1D"
);
break
;
case
Esd2D
:
s
.
append
(
"2D"
);
break
;
case
Esd3D
:
s
.
append
(
"3D"
);
break
;
case
EsdCube
:
s
.
append
(
"Cube"
);
break
;
case
EsdRect
:
s
.
append
(
"Rect"
);
break
;
case
EsdBuffer
:
s
.
append
(
"Buffer"
);
break
;
}
if
(
ms
)
s
.
append
(
"MS"
);
if
(
arrayed
)
s
.
append
(
"Array"
);
if
(
shadow
)
s
.
append
(
"Shadow"
);
return
s
;
}
};
};
//
//
...
@@ -385,8 +417,43 @@ public:
...
@@ -385,8 +417,43 @@ public:
default
:
return
"unknown type"
;
default
:
return
"unknown type"
;
}
}
}
}
TString
getCompleteString
()
const
;
TString
getCompleteTypeString
()
const
;
TString
TType
::
getCompleteString
()
const
{
const
int
maxSize
=
100
;
char
buf
[
maxSize
];
char
*
p
=
&
buf
[
0
];
char
*
end
=
&
buf
[
maxSize
];
if
(
qualifier
.
storage
!=
EvqTemporary
&&
qualifier
.
storage
!=
EvqGlobal
)
p
+=
snprintf
(
p
,
end
-
p
,
"%s "
,
getStorageQualifierString
());
if
(
arraySizes
)
{
if
(
arraySizes
->
front
()
==
0
)
p
+=
snprintf
(
p
,
end
-
p
,
"unsized array of "
);
else
p
+=
snprintf
(
p
,
end
-
p
,
"%d-element array of "
,
arraySizes
->
front
());
}
if
(
qualifier
.
precision
!=
EpqNone
)
p
+=
snprintf
(
p
,
end
-
p
,
"%s "
,
getPrecisionQualifierString
());
if
(
matrixCols
>
0
)
p
+=
snprintf
(
p
,
end
-
p
,
"%dX%d matrix of "
,
matrixCols
,
matrixRows
);
else
if
(
vectorSize
>
1
)
p
+=
snprintf
(
p
,
end
-
p
,
"%d-component vector of "
,
vectorSize
);
*
p
=
0
;
TString
s
(
buf
);
s
.
append
(
getCompleteTypeString
());
return
s
;
}
TString
getCompleteTypeString
()
const
{
if
(
type
==
EbtSampler
)
return
sampler
.
getString
();
else
return
getBasicString
(
type
);
}
const
char
*
getBasicString
()
const
{
return
TType
::
getBasicString
(
type
);
}
const
char
*
getBasicString
()
const
{
return
TType
::
getBasicString
(
type
);
}
const
char
*
getStorageQualifierString
()
const
{
return
::
getStorageQualifierString
(
qualifier
.
storage
);
}
const
char
*
getStorageQualifierString
()
const
{
return
::
getStorageQualifierString
(
qualifier
.
storage
);
}
...
...
glslang/Include/intermediate.h
View file @
d7f9406f
...
@@ -315,12 +315,9 @@ public:
...
@@ -315,12 +315,9 @@ public:
virtual
int
getVectorSize
()
const
{
return
type
.
getVectorSize
();
}
virtual
int
getVectorSize
()
const
{
return
type
.
getVectorSize
();
}
virtual
int
getMatrixCols
()
const
{
return
type
.
getMatrixCols
();
}
virtual
int
getMatrixCols
()
const
{
return
type
.
getMatrixCols
();
}
virtual
int
getMatrixRows
()
const
{
return
type
.
getMatrixRows
();
}
virtual
int
getMatrixRows
()
const
{
return
type
.
getMatrixRows
();
}
//virtual int getSize() const { return type.getInstanceSize(); }
virtual
bool
isMatrix
()
const
{
return
type
.
isMatrix
();
}
virtual
bool
isMatrix
()
const
{
return
type
.
isMatrix
();
}
virtual
bool
isArray
()
const
{
return
type
.
isArray
();
}
virtual
bool
isArray
()
const
{
return
type
.
isArray
();
}
virtual
bool
isVector
()
const
{
return
type
.
isVector
();
}
virtual
bool
isVector
()
const
{
return
type
.
isVector
();
}
const
char
*
getBasicString
()
const
{
return
type
.
getBasicString
();
}
const
char
*
getStorageQualifierString
()
const
{
return
type
.
getStorageQualifierString
();
}
TString
getCompleteString
()
const
{
return
type
.
getCompleteString
();
}
TString
getCompleteString
()
const
{
return
type
.
getCompleteString
();
}
protected
:
protected
:
...
...
glslang/MachineIndependent/ParseHelper.cpp
View file @
d7f9406f
...
@@ -55,7 +55,7 @@ TParseContext::TParseContext(TSymbolTable& symt, TIntermediate& interm, int v, E
...
@@ -55,7 +55,7 @@ TParseContext::TParseContext(TSymbolTable& symt, TIntermediate& interm, int v, E
defaultPrecision
[
EbtInt
]
=
EpqHigh
;
defaultPrecision
[
EbtInt
]
=
EpqHigh
;
defaultPrecision
[
EbtFloat
]
=
EpqHigh
;
defaultPrecision
[
EbtFloat
]
=
EpqHigh
;
defaultPrecision
[
EbtSampler
]
=
EpqLow
;
defaultPrecision
[
EbtSampler
]
=
EpqLow
;
//
?? what about different sampler types?
//
TODO: functionality: need default precisions per sampler type
break
;
break
;
case
EShLangFragment
:
case
EShLangFragment
:
defaultPrecision
[
EbtInt
]
=
EpqMedium
;
defaultPrecision
[
EbtInt
]
=
EpqMedium
;
...
@@ -670,7 +670,6 @@ bool TParseContext::structQualifierErrorCheck(int line, const TPublicType& pType
...
@@ -670,7 +670,6 @@ bool TParseContext::structQualifierErrorCheck(int line, const TPublicType& pType
void
TParseContext
::
setDefaultPrecision
(
int
line
,
TBasicType
type
,
TPrecisionQualifier
qualifier
)
void
TParseContext
::
setDefaultPrecision
(
int
line
,
TBasicType
type
,
TPrecisionQualifier
qualifier
)
{
{
//?? what about different sampler types?
if
(
type
==
EbtSampler
||
type
==
EbtInt
||
type
==
EbtFloat
)
{
if
(
type
==
EbtSampler
||
type
==
EbtInt
||
type
==
EbtFloat
)
{
defaultPrecision
[
type
]
=
qualifier
;
defaultPrecision
[
type
]
=
qualifier
;
}
else
{
}
else
{
...
...
glslang/MachineIndependent/intermOut.cpp
View file @
d7f9406f
...
@@ -55,69 +55,6 @@ public:
...
@@ -55,69 +55,6 @@ public:
TInfoSink
&
infoSink
;
TInfoSink
&
infoSink
;
};
};
TString
TType
::
getCompleteTypeString
()
const
{
TString
s
;
if
(
type
==
EbtSampler
)
{
switch
(
sampler
.
type
)
{
case
EbtFloat
:
break
;
case
EbtInt
:
s
.
append
(
"i"
);
break
;
case
EbtUint
:
s
.
append
(
"u"
);
break
;
}
if
(
sampler
.
image
)
s
.
append
(
"image"
);
else
s
.
append
(
"sampler"
);
switch
(
sampler
.
dim
)
{
case
Esd1D
:
s
.
append
(
"1D"
);
break
;
case
Esd2D
:
s
.
append
(
"2D"
);
break
;
case
Esd3D
:
s
.
append
(
"3D"
);
break
;
case
EsdCube
:
s
.
append
(
"Cube"
);
break
;
case
EsdRect
:
s
.
append
(
"Rect"
);
break
;
case
EsdBuffer
:
s
.
append
(
"Buffer"
);
break
;
}
if
(
sampler
.
arrayed
)
s
.
append
(
"Array"
);
if
(
sampler
.
shadow
)
s
.
append
(
"Shadow"
);
if
(
sampler
.
ms
)
s
.
append
(
"MS"
);
}
else
s
.
append
(
getBasicString
());
return
s
;
}
TString
TType
::
getCompleteString
()
const
{
const
int
maxSize
=
100
;
char
buf
[
maxSize
];
char
*
p
=
&
buf
[
0
];
char
*
end
=
&
buf
[
maxSize
];
if
(
qualifier
.
storage
!=
EvqTemporary
&&
qualifier
.
storage
!=
EvqGlobal
)
p
+=
snprintf
(
p
,
end
-
p
,
"%s "
,
getStorageQualifierString
());
if
(
arraySizes
)
{
if
(
arraySizes
->
front
()
==
0
)
p
+=
snprintf
(
p
,
end
-
p
,
"unsized array of "
);
else
p
+=
snprintf
(
p
,
end
-
p
,
"%d-element array of "
,
arraySizes
->
front
());
}
if
(
qualifier
.
precision
!=
EpqNone
)
p
+=
snprintf
(
p
,
end
-
p
,
"%s "
,
getPrecisionQualifierString
());
if
(
matrixCols
>
0
)
p
+=
snprintf
(
p
,
end
-
p
,
"%dX%d matrix of "
,
matrixCols
,
matrixRows
);
else
if
(
vectorSize
>
1
)
p
+=
snprintf
(
p
,
end
-
p
,
"%d-component vector of "
,
vectorSize
);
*
p
=
0
;
TString
s
(
buf
);
s
.
append
(
getCompleteTypeString
());
return
s
;
}
//
//
// Helper functions for printing, not part of traversing.
// Helper functions for printing, not part of traversing.
//
//
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment